본문 바로가기
프로젝트/Kimstagram

[내멋대로 만드는 Kimstagram] 14. Kimstagram 완성

by kim-dev 2024. 2. 4.
반응형

드디어 인스타그램 클론인 Kimstagram을 완성했다.
사실 인스타그램에 있는 모든 걸 다 클론하지는 않았지만, 적어도 '인스타그램'이라고 부를 수 있을 정도의 기능들은 다 구현했다고 생각한다.

나는 이 프로젝트를, 스프링부트 클론코딩 강좌를 하나도 보지 않고 혼자 이 정도 기능 구현에 성공했다는 점에 의의를 두려고 한다.
사실 시간만 넉넉했더라면 대부분의 기능들을 다 구현할 수 있을 것 같긴 하지만... 이 이상의 시도는 사실 큰 의미가 없고 차라리 다른 주제의 프로젝트를 진행하는 게 더 다양한 측면에서 성장할 수 있을 거라고 생각했다.
(아니 그런데 스프링부트 강의는 맨 아래 링크의 강의 딱 하나 봤는데 이 정도 코딩은 나름 선방한 거 아닌가..? ㅋㅋ)

 

내가 구현한 기능들은 아래와 같다.

  1. 회원가입 기능 (JPA)
  2. Spring Security를 활용한 보안 로그인
  3. Jwt토큰을 통한 Stateless 세션 유지
  4. 액세스 토큰과 리프레시 토큰 분리를 통해 보안 강화
  5. MultipartFile을 활용한 이미지 업로드 (동적으로 이미지 보관)
  6. 유저 프로필 조회
  7. 게시물 조회 → 사진이 여러 개일 경우 prev, next 버튼으로 사진 넘기기
  8. ajax를 활용하여 동적으로 게시물에 댓글 남기고 조회
  9. 게시물 좋아요 기능과 좋아요 한 유저 목록 조회
  10. 프로필 이미지, 한 줄 커멘트 수정
  11. 유저 간 팔로우 기능
  12. 닉네임으로 유저 프로필 검색
  13. OAuth2를 활용한 페이스북 로그인 → 페이스북 로그인 후 Jwt 토큰 발급
  14. 웹소켓을 활용한 DM 구현 (online/offline)
  15. 팔로우한 유저의 게시물을 index에 띄우기

그냥 내가 생각나는 기능들은 모두 적었다. 되게 많은 기능들을 넣은 것 같았는데... 생각보다 적네...?
ㅋㅋ 사실 블로그에 귀찮아서 안 올린 기능들도 더 있을 것 같은데... 찾는다고 찾아봤는데 다 찾은지는 모르겠다..ㅋㅋ

 

여튼... 약 한 달 간 정말 많은 성장을 거듭할 수 있도록 도와주었던 개인 프로젝트였다.
12월까지는 스프링부트의 단 하나도 몰랐던 내가 이제 웹 개발의 기본 정도는 알 수 있게 되었으니... 장족의 발전이다...

아래는 이번에 구현하지 못한 기능들 중, 기회가 된다면 꼭 구현해보고 싶은 기능들의 목록들이다.

  1. 스토리 기능
  2. 게시물에 유저 태그
  3. 릴스 기능
  4. 팔로우하지 않은 유저들의 게시물 추천
  5. 서버-클라이언트 간 데이터 전송 시 암호화하거나 숨겨서 보내기

 

 

GitHub - kimdevv/kimstagram

Contribute to kimdevv/kimstagram development by creating an account on GitHub.

github.com


여튼 1월 한 달 간 되게 재밌게 스프링부트를 공부한 것 같다.
지금까지 공부를 재밌게 한 적은 없었는데... 이 프로젝트는 되게 재밌게 진행했던 걸로 봐선 확실히 적성에 맞는 듯...?ㅋㅋ
암튼 Kimstagram의 사진 몇 장을 올리고 이제 프로젝트를 완성하려고 한다! 그동안 즐거웠습니다~~ㅎㅎ

 

로그인
유저 프로필 조회
팔로우 → 팔로우 한 유저의 게시물을 인덱스에 표시
댓글 달고 난 후 동적으로 HTML 추가
유저 닉네임으로 유저 정보 검색
온라인/오프라인 DM 기능
프로필 수정
게시물 작성


https://www.youtube.com/watch?v=6bhF5o4gAOs