프로젝트

[Spring] 최종 프로젝트 - 코끼리 (스파르타코딩클럽)

남건욱 2023. 9. 19. 03:36
반응형
프로젝트 이름 : 코끼리 (코딩하는 사람끼리)
프로젝트 인원 : 4명(백앤드 개발자 4명)
프로젝트 기간 : 30일 
프로젝트 내용 : 개발자 및 개발 공부를 하는 사람끼리 서로 정보를 공유하고 협업 프로젝트 팀을 구성해 사이트 내에서 다양한 협업 지원 기능을 이용할 수 있습니다.
개발 환경
  • Intellij
  • JDK 17.0.7
  • Spring Boot Version 3.1.2
  • Gradle 8.2.1
서비스 아키텍처

프로젝트 구현 기능
  • 회원가입(이메일 본인 인증) & 로그인
    • 카카오, 네이버, 구글 소셜 로그인이 가능합니다.
    • 회원가입 시, 이메일로 전송되는 인증 번호를 입력해야 가입이 가능합니다.
  • 마이페이지
    • 프로필을 수정하거나 회원 탈퇴가 가능합니다.
    • 작성한 게시물 및 댓글 관리가 가능합니다.
  • 백오피스 페이지
    • 관리자는 가입한 회원을 관리할 수 있습니다.
    • 게시물 및 댓글을 전체 관리할 수 있으며, 신고된 게시글을 관리할 수 있습니다.
  • 메인 페이지
    • 카테고리 별로 최신 5개의 게시글을 볼 수 있습니다.
  • 카테고리 페이지
    • 카테고리의 게시글을 페이지별로 볼 수 있습니다.
    • 게시글의 제목으로 게시글을 검색할 수 있습니다.
  • 게시글 상세 페이지
    • 게시글을 확인할 수 있으며, 수정하거나 삭제할 수 있습니다.
    • 댓글을 확인할 수 있으며, 작성 수정 삭제가 가능합니다.
    • 게시글을 신고할 수 있습니다.
  • 프로젝트 페이지
    • 참여하고 있는 프로젝트(보드)를 확인할 수 있습니다.
    • 프로젝트(보드) 내용을 수정하거나 삭제할 수 있고, 새 프로젝트(보드)를 생성할 수 있습니다.
    프로젝트(보드) 상세 페이지
    • 컬럼 및 카드 생성 및 이동이 가능합니다.
    • 사용자를 초대할 수 있습니다.
    • 마감일 기준으로 카드를 달력에서 확인할 수 있습니다.
    • 참여하는 사람들과 단체 채팅을 할 수 있습니다.
    카드 상세 페이지
    • 카드 정보(제목, 설명, 마감일, 담당자) 수정 및 삭제가 가능합니다.
    • 댓글 조회 및 생성 수정 삭제가 가능합니다.
  • 알림 기능
    • 다른 유저가 자신의 게시글에 댓글을 남기면 알림을 받습니다.
    • 프로젝트에 초대를 받으면 알림을 받습니다.
    • 프로젝트에 유저가 참여하면 해당 프로젝트 참여자들이 알림을 받습니다.
    • 프로젝트의 마감기한이 임박하면 (24시간) 알림을 받습니다.
    • 알림 전체 읽음 기능이 가능합니다.
    • 관리자는 신고된 게시물에 대한 알림을 받습니다.
    • 채팅 알림이 전송됩니다.
  • 채팅 기능
    • 1:1 개인 채팅 및 단체 채팅이 가능합니다.
    • 단체 채팅의 경우, 방을 나갈 수 있습니다.
  • 신고 기능
    • 사용자는 게시글을 신고할 수 있습니다. 신고 시 신고 사유를 필수로 제출해야 하며 관리자에게 알림이 갑니다.
ERD

API 명세서

https://ssus-organization.gitbook.io/elephant/

 

auth - 코끼리

https://www.elephantcodingclub.site

ssus-organization.gitbook.io

사용한 기술

역할 분담

 

시연영상

 

Github

https://github.com/sangbu3jo/Elephant

 

GitHub - sangbu3jo/Elephant

Contribute to sangbu3jo/Elephant development by creating an account on GitHub.

github.com

느낀점

4달간의 공부를 마무리하는 최종 프로젝트였다. 나 포함 4명의 백앤드를 공부하는 팀원과 프로젝트를 진행하였다. 기한이 1달로 주어진 만큼 기존에 많이 만들어본 API에 추가 기능을 포함해 보려 노력했다. 구현부터 CI/CD까지 직접 해보며 많은 것을 배웠던 프로젝트이다. 이번 프로젝트에서는 팀원들과 깃허브에서 PR template를 사용하며 매 PR시 코드리뷰를 하였고, 하루에 3번(09:10, 15:00, 20:30)의 회의를 통해 서로가 구현한 코드를 팀원들에게 보여주며 리뷰받고, 프로젝트를 진행하며 모르는 부분을 서로 물어보는 시간을 가졌다. 짧으면 10분 길면 60분까지도 유동적으로 이루어졌던 회의였다. 이 과정에서 자신이 구현한 부분이 아니더라도 팀원 모두가 전체코드를 이해하고 도움을 주었으며 내가 생각했던 가장 이상적인 팀 프로젝트가 아니었나 싶다. 이번 프로젝트에서는 처음 사용해 본 기술들이 많았다. 특히 배포를 위한 AWS를 사용하면서 많은 것을 배웠다. AWS EC2를 이용해서 서버를 열어보고, AWS RDS를 통해 MYSQL DB를 연동. 그리고 Github Action을 통해 CI를 구현하고 AWS CodeDeploy를 통한 빌드, AWS S3를 통한 빌드 파일 업로드 등 AWS에 대해 사용해 보고 오류를 해결해 가며 몰랐던 부분에 대해 상당한 정보를 알게 되었다. 기존 java spring을 통한 백앤드 기술 + js를 통한 약간의 프론트앤드를 구현하며 여러모로 몰랐던 기술과 작동방식, 코드 흐름등을 상세하게 배운 프로젝트였다. 프로젝트 내용도 마음에 들었고 팀원도 정말 마음에 들었다. 막히는 부분이 있으면 팀원 모두가 거부감 없이 공유하고 도와주는 프로젝트 였다. 스파르타 코딩클럽 백앤드 과정 (5.15~9.20)을 거치며 5~6가지 프로젝트를 했는데 마지막에 나에게 성장의 발판을 마련해 준 프로젝트 + 열정과 커뮤니케이션 능력까지 갖춘 팀원들과 함께해서 정말 기뻤다. 모든 과정을 마친 만큼 더 다양한 기술을 접해보고 더 많은 프로젝트를 진행해 보며 부족한 능력을 키우도록 해야겠다. 4개월이 어떻게 지나갔는지 모를 만큼 집중했던 기간이었다. 

반응형
프로필사진

남건욱's 공부기록