드디어 인스타그램 클론인 Kimstagram을 완성했다.
사실 인스타그램에 있는 모든 걸 다 클론하지는 않았지만, 적어도 '인스타그램'이라고 부를 수 있을 정도의 기능들은 다 구현했다고 생각한다.
나는 이 프로젝트를, 스프링부트 클론코딩 강좌를 하나도 보지 않고 혼자 이 정도 기능 구현에 성공했다는 점에 의의를 두려고 한다.
사실 시간만 넉넉했더라면 대부분의 기능들을 다 구현할 수 있을 것 같긴 하지만... 이 이상의 시도는 사실 큰 의미가 없고 차라리 다른 주제의 프로젝트를 진행하는 게 더 다양한 측면에서 성장할 수 있을 거라고 생각했다.
(아니 그런데 스프링부트 강의는 맨 아래 링크의 강의 딱 하나 봤는데 이 정도 코딩은 나름 선방한 거 아닌가..? ㅋㅋ)
내가 구현한 기능들은 아래와 같다.
- 회원가입 기능 (JPA)
- Spring Security를 활용한 보안 로그인
- Jwt토큰을 통한 Stateless 세션 유지
- 액세스 토큰과 리프레시 토큰 분리를 통해 보안 강화
- MultipartFile을 활용한 이미지 업로드 (동적으로 이미지 보관)
- 유저 프로필 조회
- 게시물 조회 → 사진이 여러 개일 경우 prev, next 버튼으로 사진 넘기기
- ajax를 활용하여 동적으로 게시물에 댓글 남기고 조회
- 게시물 좋아요 기능과 좋아요 한 유저 목록 조회
- 프로필 이미지, 한 줄 커멘트 수정
- 유저 간 팔로우 기능
- 닉네임으로 유저 프로필 검색
- OAuth2를 활용한 페이스북 로그인 → 페이스북 로그인 후 Jwt 토큰 발급
- 웹소켓을 활용한 DM 구현 (online/offline)
- 팔로우한 유저의 게시물을 index에 띄우기
그냥 내가 생각나는 기능들은 모두 적었다. 되게 많은 기능들을 넣은 것 같았는데... 생각보다 적네...?
ㅋㅋ 사실 블로그에 귀찮아서 안 올린 기능들도 더 있을 것 같은데... 찾는다고 찾아봤는데 다 찾은지는 모르겠다..ㅋㅋ
여튼... 약 한 달 간 정말 많은 성장을 거듭할 수 있도록 도와주었던 개인 프로젝트였다.
12월까지는 스프링부트의 단 하나도 몰랐던 내가 이제 웹 개발의 기본 정도는 알 수 있게 되었으니... 장족의 발전이다...
아래는 이번에 구현하지 못한 기능들 중, 기회가 된다면 꼭 구현해보고 싶은 기능들의 목록들이다.
- 스토리 기능
- 게시물에 유저 태그
- 릴스 기능
- 팔로우하지 않은 유저들의 게시물 추천
- 서버-클라이언트 간 데이터 전송 시 암호화하거나 숨겨서 보내기
GitHub - kimdevv/kimstagram
Contribute to kimdevv/kimstagram development by creating an account on GitHub.
github.com
여튼 1월 한 달 간 되게 재밌게 스프링부트를 공부한 것 같다.
지금까지 공부를 재밌게 한 적은 없었는데... 이 프로젝트는 되게 재밌게 진행했던 걸로 봐선 확실히 적성에 맞는 듯...?ㅋㅋ
암튼 Kimstagram의 사진 몇 장을 올리고 이제 프로젝트를 완성하려고 한다! 그동안 즐거웠습니다~~ㅎㅎ
https://www.youtube.com/watch?v=6bhF5o4gAOs
'프로젝트 > Kimstagram' 카테고리의 다른 글
[내멋대로 만드는 Kimstagram] 13. 웹 소켓(Websocket)을 활용한 DM 구현 (1) | 2024.02.04 |
---|---|
[내멋대로 만드는 Kimstagram] 12. OAuth2를 활용한 페이스북 로그인 (0) | 2024.01.29 |
[내멋대로 만드는 Kimstagram] 11. 유저 검색 (0) | 2024.01.29 |
[내멋대로 만드는 Kimstagram] 10. Jwt Refresh Token 발급하기 (1) | 2024.01.28 |
[내멋대로 만드는 Kimstagram] 9. 팔로우 기능 구현하기 (1) | 2024.01.24 |