본문 바로가기
개발일지/Kernel360

E2E Task-Tracker

by DanteMustDie 2023. 11. 24.
728x90

https://github.com/Kernel360/E2E1-TaskTracker

 

GitHub - Kernel360/E2E1-TaskTracker: 공유 일정,목표 관리 서비스

공유 일정,목표 관리 서비스. Contribute to Kernel360/E2E1-TaskTracker development by creating an account on GitHub.

github.com

 

0. 개요

1달의 기간동안 프론트엔드 -> 백엔드 -> 프론트엔드 풀스택 개발을 직접 해보고, 과정을 거치면서 어떠한 흐름으로 개발 사이클이 도는지 체감하고 협업을 통해 규모있는 플랫폼을 만들어가는 과정입니다.


1. 프로젝트 목적, 목표

자신의 목표, 일정을 맴버들과 공유하고 참여 할 수 있는 서비스

2. 플랫폼 목표

- 일감 담당자가 일감을 등록하고, 같은 친구 관계인 맴버들이 참여 가능하다.

- 각 일감별로 담당자를 배정 할 수 있다.

- 일감이 등록되거나 담당자가 배정된다면 해당자에게 알림이 발신된다.

- 이용자에 대해 친구신청을 할 수 있다.

- 통계와 회원정보, 일감정보를 확인 하고 관리할 수 있는 관리자 페이지를 개발한다.

- 수동배포를 먼저 수행하고 가능하다면 자동배포까지 진행한다.


3. 기술스택

Front :: 부트스트랩 with SB_ADMIN , jQuery, thymeleaf, JS
Back :: Java17, SpringBoot 3.0, redash, Spring Security, oAuth2 with kakao, mysql
Deploy :: Github, Github Action, docker, AWS [EC2, S3, CodeDeploy]


4. 주요기능 :: 


사용자  - 일감 조회 | 등록 | 수정 | 삭제
▶ 할일 조회 | 등록 | 수정 | 삭제
- 일감 담당자 등록 | 삭제

 

관리자  - 일감 관리 (조회 | 등록 | 수정 | 삭제)

- 통계 조회

- 회원 관리 (조회 | 관리자 권한 Y/N | 이용 제제 Y/N)

 


5. 기여도

- 팀원분들이 프론트엔드에 대해 지식이 전무하여 프론트 -> 백엔드 -> 프론트가 어떤 싸이클로 돌아가는지 강의를 하고
  어떻게 개발을 진행해나가야 할지 가이드를 하였습니다.
- 페어프로그래밍 과정을 통해 개발 중 놓칠 수 있는 부분들에 대해 커뮤니케이팅을 하여 코드의 퀄리티를 올릴 수 있도록 하였습니다.
- ubuntu ec2에 docker를 설치 후, 통계 전문 관리 백엔드 프레임워크인 redash를 구축하고 통계 데이터 관리하였습니다.
- spring security 설정 과정에서 미흡한 처리에 대한 유지보수를 진행하였습니다.
- 샘플로 가져온 sb_admin 디자인 템플릿이 지저분하여 각 메뉴별 (header / left / top) 분리 후 관리되도록 최적화 작업을 진행하였습니다.
- entity와 dto를 관리 방법론을 getter-setter-builder (이하 gsb)를 되도록 쓰지 않기 위해 record-from-of(이하 rfo) 방식을 채택하였으며 gsb 방식과 fro방식, 외부 라이브러리인 ModelMapper를 이용한 mapping 3가지 작업의 장단점과 차이점을 익혔습니다.
- 관리자페이지를 담당하여 회원정보가 관리되도록 최소한의 기능을 구현하였습니다. (목록 페이징,검색,이용제제, 관리자 권한 부여)
- github action -> s3 -> codeDeploy -> ec2 까지의 배포 과정 작업을 검수하고 에러사항을 수정하였습니다.
- slf4j를 이용하여 프로그램 수행에 대한 log를 full-log, daily-log 나눠서 수집하도록 설정하였고 배포 결과 파악이 가능하도록 로그를 세팅하였습니다.


6. 회고

팀원으로 참여를 한 개발 프로젝트이지만, 다른분들께서 설계와 개발경험이 부족하여 실제 개발 활동보다 팀원분들의 이해와 방향 결정에 대해 도움을 주는 것에 대해 주력을 하였습니다. 타임리프라는 처음 접하는 라이브러리를 사용하여 기존에 썼던 jsp과 비슷한듯 하면서 다른부분이 있어 차이점을 알아가는 재미와 기간내에 만들어야 한다는 압박감이 비례하였고 통계에 대해 인프라와 쿼리를 직접 작성하고 보여지는 차트까지 직접 만들어야 했던 것에 비해 리대시라는 좋은 통계전용 백엔드 프레임워크를 도입해서 사용해본 것이 인상적이었습니다. 가장 궁금했던 클라우드 인프라 AWS를 처음 사용하고 배포까지 성공했을때의 그 쾌감은 아직도 잊혀지지 않습니다. 백엔드 개발의 비중은 낮았지만 새로운 경험과 의사소통을 어떻게 풀어가야할지 반성하게되는 프로젝트였습니다. 기간 부족으로 인해 미완성 된 부분에 대해서 마무리를 하고싶단 생각이 듭니다. 역시 개발자는 코드를 게을리 보지않으면 안된다 느낍니다.

 

 

반응형