0. 배포 사이트와 github 저장소
http://greenfarm-buchu.link/
AWS 프리티어 기간 만료로 도메인과 배포 서버를 닫습니다 ㅠㅅㅜ
부추 농장
greenfarm-buchu.link
GitHub - BuchuKim/green-farm: 농장주들이 농장일기를 자유롭게 작성하는 Green Farm Project입니다.
농장주들이 농장일기를 자유롭게 작성하는 Green Farm Project입니다. Contribute to BuchuKim/green-farm development by creating an account on GitHub.
github.com
생애 첫 스프링부트 프로젝트. 트위터와 유사한 SNS 기능을 갖춘 웹사이트이다! 트위터의 웬만한 기능은 다 추가해볼 생각이다!
다음은 기능 소개이다.
1. OAuth2를 이용한 소셜 로그인
위에 보이는 것은 홈 화면이다. 헤더에 보이는 "로그인" 버튼을 클릭한다.
일단 현재 추가한 구글과 네이버 로그인 버튼 목록이 보인다. 가입하고 싶은 경로를 택하고 소셜 로그인을 진행한다.
그 뒤 보이는 농장 가입 창이다. 이메일과 닉네임은 가입한 SNS에서 제공하는 default값으로 설정되어 있다. 이메일은 바꿀 수 없지만, 닉네임은 원하는대로 설정할 수 있다. 중복되면 안되는 ID와 자기소개를 채워넣은 뒤 가입을 누르면 정상적으로 가입된다.
+) 만약 이미 DB에 존재하는 ID를 입력하면?
중복된 유저 아이디라는 오류 메세지가 뜨게 되므로 주의.
2. 회원 정보 수정 기능
내 농장 프로필 페이지에 보이는 <프로필 수정> 버튼을 누르면 다음과 같은 화면으로 이동하게 된다.
이메일을 제외한 ID, 이름, 자기소개 란을 변경할 수 있다. 여기서 ID 역시 폼을 제출할 때에 중복검사가 들어간다.
구글1_부추는 뭔가 정이 없으니 "구글부추"라고 이름을 수정해보자. 자기소개란도 "블로그에 소개하기 위한 프로필"으로 바꾸고 수정 버튼을 클릭하면 프로필이 수정된다.
"회원 탈퇴" 버튼을 누르면 되돌릴 수 없다는 경고문이 뜨고, 그럼에도 탈퇴 버튼을 누르면 안전하게 회원 탈퇴가 완료된다.
3. 농장일기 작성 및 삭제 기능
위의 홈 화면에서 <일기 작성> 버튼을 누르면 농장 일기를 작성할 수 있는 모달창이 나오게 된다.
아무말 대잔치를 하고 작성! 버튼을 클릭한다.
일기가 작성되고, 내가 쓴 농장 일기의 상세 페이지로 이동하게 된다.
홈 화면에서 전체 농장일기를 조회했을 때 일기가 멀쩡히 보인다.
"삭제하기" 버튼을 누르면 현재 페이지에 있는 농장일기가 삭제된다.
4. 농장일기 좋아요 기능
위와 같이 보이는 3개의 농장 일기 각각의 상세 페이지로 들어가 좋아요 버튼을 누르면
상세 페이지에서 좋아요 버튼이 좋아요 취소 버튼으로 바뀌게 된다. 이렇게 된 일기는 현재 유저가 좋아요 한 일기 목록에 추가되고, 프로필의 "좋아요" 탭에서 지금까지 좋아요했던 일기 목록을 확인할 수 있다.
덤으로 몇 개의 좋아요가 달렸는지 확인할 수도 있다.
5. 유저간 팔로잉 기능
다른 유저의 프로필 화면에 "팔로우!"버튼을 누르면 해당 유저를 팔로우할 수 있다.
팔로우 뒤에는 버튼이 "언팔로우"로 바뀌며, 방금 내가 팔로잉한 @stberry8 유저의 팔로워 숫자를 클릭하면,
현재 내 계정(구글부추)이 팔로워 목록에 추가되었음을 확인할 수 있다. 내 프로필의 팔로잉 목록에도 역시 방금 내가 팔로우한 @stberry8 유저가 추가됨을 확인할 수 있다.
6. 팔로잉한 사람의 일기만 보기 기능
홈 화면에서 "팔로우 중" 버튼을 클릭하면 내가 현재 팔로잉 중인 사람의 농장일기만 볼 수 있다.
기능 자체는 크게 어려운 것들이 없었고 (테이블 설계와 CRUD가 끝) 해당 프로젝트를 진행하면서 어느정도 spring boot에 대한 이해가 잡혔던 것 같다...
주요 기능들을 어떻게 구현했는지 정리+공부하는 느낌으로 다음 포스팅에서 풀어보도록 하겠다!