1인 개발로 진행한 프로젝트를 끝내게 되었다.
이를 기념하여 저장용 게시글을 남긴다.
기획의도
1. 교육과정을 마쳤지만 이대로 취업했을때 아무것도 없는 처음부터 구현하라고 하면 오래 걸릴것 같았다.
2. 팀 프로젝트의 진행과정에서 코드리뷰를 몇번 진행했으나 서로의 코드가 이해안되는 경우가 있었고 또한 각자 기능을 나눠서 개발하다보니 해당 기능에 대해 물어봐도 서로 질문하기도 알려주기도 애매했던 기억이 있었다.
3. 처음 개발을 진행했기에 처음에 알려준 방법으로만 Front와 Back 사이의 데이터를 교환하는 방식만 사용했는데 다른방식은 없었을까?
3개의 이유로 혼자서 구현한 프로젝트가 있었으면 해서 개발을 진행하게 되었다.
그중에서 내가 애용하던 설문조사 사이트와 기프티콘 판매 사이트가 떠올랐고 이것 2가지를 합쳐 개발하기로 하였다.
(한국 서베이 -> 설문조사 사이트, 기프티스타 -> 기프티콘 할인 사이트, 오피스콘 -> 기업용 기프티콘 할인 사이트)
차별점
- 기존 설문조사 방식은 기업 담당자가 사이트 관리자와 협의하고 관리자가 직접 만드는 형식이었으나 이를 기업 담당자 혼자 CRUD가 가능하도록 변경
- 포인트제를 활용해 기프티콘 구매가능
있으면 좋겠다 싶은점 (나중에 추가하면 좋을거 같은점)
- 기프티콘 구매시 유효기간별 차등 할인이 있으면 좋을거 같다. -> IMG의 텍스트 추출방식도 생각해봤으나 각 기프티콘마다 날짜 형식도 달랐고, 타 사이트는 실제 관리자 하나씩 검수하여 업로드 하는 형태이다
- 각 User, Admin도 안쓰는 기프티콘을 판매가 가능하도록 하면 좋을거 같다. -> 포인트의 현금화가 필요한데 이건 실제 돈나갈까봐 무섭다.. // 기프티콘 쓴건지 안쓴건지 하나씩 확인해야하는 문제가 생길거 같다.
권한레벨
- User - 설문조사, 공지사항, 기프트샵 접근가능
- ADMIN - User + 본인의 설문조사 CRUD 접근가능
- MASTER - ADMIN + 기프트샵, 전체 설문조사, 공지사항 CRUD 접근가능
member 관련 기능
- 스프링 시큐리티 활용 회원가입, 비밀번호 암호화(machers를 활용해 검사)
- 로그인 및 세션에 ID 저장
- 아이디 / 비밀번호 찾기 기능 (google의 SMTP 활용)
설문 관련 기능
- 각 담당자 및 Master만 수정 및 삭제 가능
- 결과페이지는 DB에 CSV 추출하는 형식으로 변경 (질문형의 경우 이것을 배치할 방법이 안떠올라 해당 방식으로 미구현)
- 설문 완료시 각 User의 리워드가 누적되며 이를 통해 기프티콘 구매가능
리워드 관련 기능
- 기프티콘 업로드
- 설문조사를 통한 리워드 획득, 이를 통해 굿즈샵에서 기프티콘 구매, mypage에서 확인가능
공지사항 관련 기능
- 게시판 CRUD
느낀점 및 아쉬웠점
- 프론트, 디자인에 구현이 어려웠다.
- JS 부분은 내가 모르는 부분이었고 실질적인 구현에 너무 많은 시간이 할애되었다. (GPT 활용)
- doc의 중요성을 크게 못느껴 작성을 안했는데 나중에 어떤게 어떤기능이고 왜 이렇게 쓴건지 하나씩 차아볼떄 불편했다.
- 1인 개발의 경우 의견교환 등 어렵기떄문에 가독성 좋은 코드 보단 나만 알아보면 좋겠지 싶은 코드 위주로 짜게 되는게 컸다.
- 저장은 적어도 3번은 누르자!..
추가로 생긴 호기심
- 서버에서 작업을 할당하는것과 클라이언트에 작업을 할당하는것 어느것이 좋을까? (SSR 게시글 참조)
- 어느정도 수준에서 기능, 완성도와 타협하는게 맞을까?
- MVC로 구현하는것도 괜찮긴 했지만 실제로 여러 Service를 사용하니 이것대로 이게 어떤걸 반환하고 실제로 어떤 로직인기 찾기 어려웠다. 더 나은 방식은 없었을까?
- Back과 Front 사이의 데이터를 주고받을떄 model로 데이터를 넘기는 방식을 주로 사용했는데 더 나은 방식은 없었을까?
'Spring' 카테고리의 다른 글
putty를 활용해 EC2에 접근하기 (0) | 2024.02.01 |
---|---|
Spring MVC의 핵심 애노테이션 (0) | 2024.01.26 |
SSR, CSR, SSG (0) | 2024.01.23 |
SMTP를 활용하여 이메일 보내기 (0) | 2024.01.04 |
인스타 API 연동하기 (0) | 2023.08.23 |