JJAN - 프로젝트 후기

5tr1ker·2023년 10월 3일
1

프로젝트후기

목록 보기
3/3

프로젝트 소개

4명의 개발진들과 4명의 기획 겸 디자이너가 함께 제작한 웹 서비스로 진행되고 있었던 프로젝트 중간에 참여하여 구현이 되어있는 로직에서 코드의 품질을 향상시키고 최적화하는 능력을 기를 수 있었던 프로젝트입니다.
또한 추가로 기능을 확장하고 기존 레거시 코드를 리팩토링할 수 있는 능력도 키울 수 있었습니다.

주요 기능은 회원 가입 , 로그인 , 프로필 수정 , 동네 인증
, 모임 개설 , 모임 참여 및 탈퇴 , 모임 필터 탐색 , 상세 보기 , 관심있는 모임, 모임 간 채팅이 있으며 채팅은 Socket을 이용하여 구현했습니다.

프로젝트 완성도

중간에 참여한만큼 프로젝트가 진행이 되고있었고 , 2개월간의 작업 기간을 거쳐 프로젝트를 완성시켰습니다. 기획된 기능은 모두 구현했으며 여러 테스트를 거쳐 완성도높은 프로젝트를 완성시켰습니다.

맡은 업무

해당 프로젝트의 백엔드 팀장으로서 백엔드의 컨벤션을 정하고 작업을 분배하는 역할을 했었습니다.
또한 구현한 로직은 다음과 같습니다.

  • 기존 코드 로직 수정 및 최적화
  • Spring Security를 활용한 인증 , 인가처리
  • JWT 를 통한 토큰 기반 인증을 구현
  • CI / CD ( Jenkins ) 를 활용해 지속적 배포 , 통합을 구현
  • AWS EC2 를 활용한 API 배포 서버 구축
  • 사용자 회원가입 , 로그인 ( CRUD ) , 프로필 정보 수정 구현
  • Socket 을 활용한 채팅 구현

프로젝트 작업 기간

2023 - 7 ~ 2023 - 9 ( 2개월 간 )

프로젝트를 하면서 깨닫게 된 것

SOLID 원칙을 지키며 개발하는 것이 중요하다.

리팩토링하면서 객체 지향 언어의 특징인 SOLID 원칙에 맞게 작성하는 것이 중요하다는 것을 깨닫게 되었습니다.
객체 지향 언어의 원칙을 지키지 않고 개발하니 중복되는 코드가 많아져 소프트웨어가 무거워지는 문제가 발생하고, 가독성이 떨어져 생산성 및 유지보수가 떨어진다는 것을 알게 되었습니다.

지속적인 소통이 중요하다.

회의를 매일하면서 서로 작업 상황을 공유하고, 수정 사항을 바로 알 수 있으니 개발 기간이 크게 짧아지는 이점을 가질 수 있었습니다.

일주일에 한번 회의하는 것 보다 매일 짧게 회의를 진행하는 것이 효율적으로 프로젝트를 진행하는데 큰 도움이 된다는 것을 깨닫게 되었습니다.

한 기술에 대해 깊게 아는 것이 중요하다.

리팩토링을 하면서 기존 코드는 기술에 대한 이해가 부족하여 잘못된 로직이 많다는 것을 알게 되었습니다. 이를 통해 하나의 기술을 제대로 알고있어야 구현과 유지보수 및 리팩토링하는데 큰 도움이 되는 것을 깨달을 수 있었습니다.

따라서 개발자는 많이 아는 것 보단 하나의 우물을 깊게 파는 것이 더 좋은 개발자가 될 수 있다는 것을 알 수 있었습니다.

프로젝트를 마치면서..

타 프로젝트보다 작은 토이 프로젝트이지만 리팩토링하면서 많은 것을 배울 수 있었습니다. 클린 코드와 SOLID 규칙을 지키면서 개발해야 소설을 읽듯이 코드가 쉬워지고, 소프트웨어의 품질이 향상되는 큰 이점을 가질 수 있다는 것을 깨닫게 되었습니다.

따라서 개발을 할 때 클린한 코드가 얼마나 중요한지 깨달을 수 있었던 프로젝트였습니다.

깃허브 주소

https://github.com/5tr1ker/jjan_back_renewal/tree/main

profile
https://github.com/5tr1ker

0개의 댓글