HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
💫
[팀16] YAS
/
🔥
세부 기획
/
🏋️
준형
🏋️

준형

🗒️ 개요

  • 학교 → 집 → 학교 / 회사 → 집 → 회사가 반복되는 일상 속 노잼 시기를 타파하고 삶에 긍정적인 영향을 불어넣기 위한 미션 클리어 플랫폼
 

🧑‍🤝‍🧑 타겟 유저

  • 취미생활이 없거나 찾고있어서 특별한 활동을 하지 않는 누구나
  • 똑같은 일상에서도 소소한 행복을 느끼고 싶은 사람
 

☝️기대 효과

  1. 반복되는 일상 속 주어지는 미션을 하나씩 해결하면서 스트레스 해소
  1. 아무 의미가 없다고 생각했던 평범한 행동들도 특별하게 느껴짐
  1. 사람마다 다르게 겪고 있는 노잼 시기를 YAS를 통해 알게 되고, 그 사람들의 미션 수행 정도를 보면서 YAS 內 소속감, 공감대 형성
 

🧑‍💻 기술 스택

  • React (create-react-app)
  • Typescript
  • styled-component
  • storybook
  • axios
  • eslint, prettier (+ husky, lint-staged ??)
  • 그 외 사용하면서 추가할 수 있는 라이브러리 등은 협의 후 사용(redux 등)
 

🌊 서비스 흐름도

notion image
 

📝 기능 구현(요구 리스트)

📌 간단 요약

내용
  • YAS 사용자는 매달 혹은 매주 원하는 카테고리(책, 영화, 건강, 여행 등)를 고르고, 카테고리에 해당하는 다양한 미션들을 부여받는다 (미션 추가 가능)
  • 미션은 최소 3개 이상 선택해야하며, 3일에 1번, 일주일에 1번 등 자신의 스케쥴에 맞게 수행 기간 선택도 가능하다
  • 사용자는 미션 완료 후 스트레스 완화 정도, 행복도 등에 대한 평가와 후기를 작성하게되며, 미션 일정과 후기 내용은 다른 사람들에게 공유된다
 

✅ 세부적인 요구사항 리스트

내용
  • 회원 가입 시 SNS 계정 연동 또는 이메일을 이용하여 가입을 진행하고 로그인을 한다
    • 이메일 인증 및 아이디 중복 확인 기능
    • 닉네임 중복 확인 기능
    • 비밀번호 확인 기능(한번 더 입력)
    • 로그인, 로그아웃 기능
    • 아이디 또는 비밀번호 찾기 기능
  • 최초 접속 여부 확인 후 설명 페이지를 보여준다
    • 사용자 접속 기록 확인 기능
    • 일정 초 이상이 지나거나, 시작하기 버튼을 누르면 카테고리 선택 페이지로 이동
  • 카테고리를 확인하고 해당 카테고리에 어떤 미션들이 존재하는지 미리보기가 가능하다
    • 카테고리와 카테고리 별 미션들이 DB에 저장되어 관리
    • 카테고리 선택 시 모달로 미션 미리보기 기능(3~4개)
    • 현재 인기 카테고리 순으로 정렬 기능(선택 가능)
  • 카테고리 선택 후 전체 미션 확인, 추가, 선택이 가능하다
    • 미션은 체크 리스트 형식으로 구성, 최소 3개 이상 선택 시 다음으로 버튼 활성화
    • 마음에 드는 미션이 없을 경우, 미션 추가 기능 (해당 사용자의 DB에 미션 추가됨)
  • 미션 선택 후 나의 스케쥴에 맞춰 일정을 선택한다
    • 달력을 이용하여 기간을 정하고, 그 기간동안 몇 번할 지 선택 기능
    • 미션의 개수 이상으로 횟수가 선택되어야 다음 페이지로 이동 가능
  • 미션 완수 후 평가와 후기를 작성한다
    • 스트레스 완화도, 행복도를 별점 또는 점수로 평가 가능
    • 사진 업로드 및 후기 글 작성 기능
    • 나의 후기 SNS로 공유 기능
  • 다른 사람들의 미션 일정과 후기를 확인한다
    • 미션 일정 및 후기 상세 조회 기능
    • 다른 사람의 미션 나의 미션으로 추가하기, 가져오기 기능
  • 🆕 하루에 한 번 일일 랜덤 미션 부여
    • 사용자가 선택한 미션 외에 랜덤으로 일일 미션 추가 부여
    • 일일 미션을 클리어하면 나의 스케쥴에 해당 미션 클리어된 상태로 추가
    • 일일 미션은 내가 선택한 미션과 중복될 수 있음
 

🤲 프로젝트 컨벤션

  1. 폴더 구조
┌──── .storybook ├───┬ public │ ├── index.html │ ├── favicon.ico │ └── * ├───┬ src │ ├─── components │ ├─── hooks │ ├─── store (or contexts, redux) │ ├─── pages │ ├─── stories │ ├─── themes → 자주 사용할 대표 색상, 폰트 사이즈 │ ├─── utils → api 로직 등 │ ├─── App.js │ ├─── index.js │ ├─── index.css │ └─── * ├──── .env ├──── .eslintrc ├──── .gitignore ├──── .prettierrc ├──── package.json ├──── readme.md ├──── yarn.lock └──── *
 
  1. Github 협업 방식
  • Git-flow 방식(main, develop, release, feature, hotfix)
 
  1. Commit Rule (협의 후 선택)
  • Type 대문자로 시작 && Commit message 한글
  • Type 종류
    • Feat: 새로운 기능을 추가할 경우
    • Fix 버그를 고친 경우
    • Design: CSS 등 사용자 UI 디자인 변경
    • Style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
    • Refactor: 프로덕션 코드 리팩토링
    • Comment: 필요한 주석 추가 및 변경
    • Docs: 문서를 수정한 경우
    • Test: 테스트 추가, 테스트 리팩토링(프로덕션 코드 변경 X)
    • Chore: 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 X)
    • Rename: 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
    • Remove: 파일을 삭제하는 작업만 수행한 경우
 
  1. Jira
  • https://sujinnaljin.medium.com/jira-jira와-github-연동하기-6e649180dfae