세미 프로젝트 기록
원데이 클래스 smallUs
프로젝트 기간 (2023.6.15 ~ 2023.6.29)
팀 인원 : 5명
smallUs는 바쁜 일상 속 다양한 원데이 클래스를 통해 자신이 진정으로 즐길 수 있는 취미도 찾고 힐링도 할 수 있고
정기적으로 시간을 내기 힘든 바쁜 현대인들에게 자신이 원하는 주제에 따라 가능한 시간에 맞추어 하루를 특별하게
보낼 수 있게 해 주는 사이트다.
팀원들과 프런트와 백엔드를 나누지 않고 제작을 하였는데 그중에서 내가 맡게 된 기능은 마이페이지, 검색, 알림 기능이다.
2주간 수업과 병행하며 세미프로젝트를 진행하였다.
1. 기획
평소에 원데이 클래스에 관심이 있었던 나는 주제를 정할 때 내가 잘 알고 있는 주제를 정하는 게 좋다고 생각하여
원데이 클래스 사이트를 추천해서 진행하게 되었다.
프로젝트는 처음이라 원데이클래스 사이트를 여러 개 분석 후 기획안을 작성했다.
2. 화면설계 Figma
먼저 프로젝트를 시작하기 전에 강사님께서 화면설계부터 시작하는 것이 좋다고 하여서 처음에는 카카오 오븐으로 화면설계를 시작했다. 그러다 점점 카카오오븐으로는 다 담지 못하는 부분들이 생겼다 그때 Figma를 처음 접하게 되었고
Figma를 통해 더욱 자세하게 화면설계를 할 수가 있었다 처음에는 어렵지 않을까 걱정을 많이 했는데 생각보다 사용방법이
간편, 간단해서 팀원들과 어렵지 않게 화면설계를 할 수가 있었다.
본격적인 화면설계를 하기 전에 팀원들과 공통적으로 맞춰야 할 디자인 틀을 팀원들과 상의하여 먼저 정해놓고
화면 구현을 시작했다.
디자인을 정해놓고 시작하니 사이트의 디자인이 크게 벗어나지 않고 통일감 있게 작성할 수가 있었다.
4. ERD
erd 클라우드를 사용하여 DB에 들어갈 테이블들을 상세하게 정리를 하였다.
5. 기능설명
1. 마이페이지 메인
- 마이페이지 메인에는 회원의 간단한 정보와
- 쿠폰 개수, 찜개수, 후기 개수
- 결제내역, 찜내역을 볼 수가 있다.
- 프로필 관리
- 회원의 가입정보
- 닉네임 변경
- 정규표현식을 이용하여 영문 숫자 한글만 로만 입력이 가능하게 했다.
- 비밀번호변경
- 정규표현식을 이용하여 영문과 숫자로 이루어진 8글자 이상만 가능하게 했다.
- 이메일 변경
- 이메일 인증을 통과해야 변경이 가능하게 했다.
2. 회원탈퇴
- 회원탈퇴 시 비밀번호 인증으로 회원탈퇴
3. 쿠폰관리
- 쿠폰 입력(쿠폰은 한 번만 등록가능)
- 보유한 쿠폰(쿠폰 기한이 지나면 자동으로 삭제)
4. 결제내역
- 결제완료 : 수강일 시작 전까지 예약취소 버튼활성화, 클래스 이름 클릭 시 결제상세내역 이동
- 결제취소 : 클래스이름 클릭시 결제취소내역 이동, 결제취소 시 사용한 쿠폰 복구
- 수강완료 : 결제완료에서 수강 기한이 지나면 수강완료로 변하고 후기작성이 버튼 활성화
5. 찜관리
- 회원이 찜한 목록 모아 보기
- 하트 클릭 시 해제 및 등록 가능
6. 1:1 문의
- 자주 묻는 질문 : 토글형식
- 1:1 문의 게시판 : 토글형식, 답변이완료되면 답변 완료 답변이 달리지 않았으면 답변대기
- 글쓰기
7. 알림
- 회원의 게시글에 답변이 달릴 시 알림
- 호스트 클래스 승인 및 예약 시 알림
8. 검색
- 클래스 이름과 지역으로 검색
느낀 점
이번 프로젝트를 하면서
정말 많이 길을 잃었다.
수많은 오류와 마주치면서 점점
"내가 이걸 다 만들 수 있을까?"
"여기서도 쩔쩔매는데 과연 내가 개발자 가 될 수 있을까?"
"3개월 동안 뭘 배운 거지?"
라는 생각이 수백 번 들었다..
하지만 이 악물고 에러가 나면 구글링을 하며 하나하나 에러를 해결해 나아갔다
시간이 지날수록 결과물이 완성이 되고 이게 되네..?라는 생각까지 하게 되었다..
내가 무언갈 만들었고 그게 실제로 동작을 한다는 게 너무나도 재미가 있었고
오류가 발생하거나 풀리지 않은 문제를 직면했을 때 그걸 찾아서 해결하고
새롭게 생기는 지식들이 생기는 과정들이 너무나도 좋았다.
세미기간 동안 방에 박혀서 코딩->잠->코딩 -> 잠 이었지만 전혀 힘들지않았고
잠을 잘 때도 내가 오늘 구현하지 못한 기능에 대해 생각을 하게 되고 그 걸로 인해
꿈에서까지 코딩을 하는 경지까지 가버릴 정도로 이번 프로젝트는 너무나도 재미가 있었다.
처음으로 하는 프로젝트라서 결과물은 만족스럽진 않지만 그래도 만들었다는 거에 굉장히 뿌듯했다..
이번 프로젝트를 통해 아직 내실력은 부족하지만 개발이란 것을 계속해보고 싶다는 욕심이 들었던 프로젝트였다..
아쉬운 점
- 게시글 작성 시 이미지업로드나 게시글 등록에 실패해도 게시글이작성되는 오류
- 하나의 게시글에 여러 개의 파일을 등록하는 기능을 만들고 싶었다.
그런데 게시글을작성할때 이미지업로드를 실패해도 게시글이 작성되는 일이 발생했다. - 트랜잭션 을이용하여 두개다 성공했을때만 게시글이 정상적으로 작성되게 만들었지만
이걸 출력하는 부분에서 굉장히 고난을 겪었다.. - 계속고민하다 보니 프로젝트 기간이 얼마 남지 않아
이 기능은 포기하고 다른 기능을 만들었다 이 부분이 너무나도 아쉬웠다.
- 하나의 게시글에 여러 개의 파일을 등록하는 기능을 만들고 싶었다.
- 최근검색어
- 프로젝트 막바지에 검색기능을 만들었는데
- 시간이 너무나도 촉박한 나머지 검색기능은 만들었지만 최근검색어 기능까지는 만들지 못했다.
- 사실 sessionStorage를 이용해서 만들 수 있다는 거 까지는 알고 있었지만 시간 너무나 도 부족했기에
- 만들지 못한 부분이 너무나도 아쉬웠다.
- API
- 요번프로젝트 때 나는 API를 사용하지 않았다.
- 이 부분이 너무나도 아쉬웠다 마이페이지에 들어갈 내용이 API가 필요한 부분이 없다고 생각했기에
- 쓰지 않았다..
- 프로젝트가 끝나고 나니 API를 사용해 볼걸이라는 생각이 너무나도 아쉬웠다.