프로젝트 개요 (1분 30초)
-
주제 및 선정 배경 (기획 의도 등)
- 서비스명: 사람,별
- 서비스 기획 의도: 내 사람들을 저장하고, 그 사람들과의 약속을 만들고, 추억을 기록하는 오거나이저
- 프로젝트 한 줄 설명: 사람과의 관계를 보다 전문적으로 관리할 수 있는 퍼스널 스케쥴 서비스
-
서비스 아키텍처 설명

-
프로젝트 팀 구성 및 역할 (생략 가능)
| 이름 |
역할 |
담당 업무 |
| 오영진 |
리더 |
내 사람, 다가오는 약속 리스트, 내 사람 리스트 CRD |
| 김종연 |
부리더 |
로그인/회원가입 페이지, 소셜로그인, 비밀번호 재설정 |
| 김시헌 |
멤버 |
내사람 페이지 |
| 김진채 |
멤버 |
캘린더 페이지 |
| 이기리 |
멤버 |
랜딩페이지, 데모모드, 약속추가 |
프로젝트 수행 절차 및 방법 (1분)
- 각 주차별 업무 타임라인 소개 ( 예시) 사전 기획, 사용 기술 선택, 서비스 구축 등 )
- 1주차 (3/28 ~ 4/2) - 주제 선정 및 기능 기획 / 와이어프레임
- 프로젝트 기획 및 역할 분배 (MVP)
- 데이터 테이블 정립
- api명세서 작성
- (디자인) 레퍼런스 수집 및 기획 전달
- 2주차 (4/3 ~ 4/9) - 초기개발세팅 및 mvp기능 구현 / 웹 또는 모바일 1차 시안
- 와이어프레임 피드백
- 프로젝트 환경 세팅
- (디자인) 컬러시스템, 컴포넌트 작업
- (디자인) 1차 시안 완성
- 3주차 (4/10~4/16) - mvp 기능 구현 및 중간발표 / 1차 시안 피드백 후 반응형 시안 작업
- MVP기능구현
- 약속추가 (CRUD)
- 내사람 추가 (CRUD)
- 로그인/회원가입
- 캘린더 구현
- 중간발표
- (디자인) 모바일 시안 작업
- 4주차(4/17~4/23) - UT테스트 및 서비스 개선 / UT테스트 디자인 피드백 반영
- UT 테스트
- 오류 개선 및 서비스 개선
- 로그인 흐름 개선
- 약속, 내사람 추가 폼 오류 수정
- 캘린더 페이지 동작 개선
- (디자인) 피드백 반영한 디자인 제안
- 5주차 (4/24~ 4/30) - 사용자 피드백 반영 및 마무리 작업 / 최종 디자인 검토 및 마무리 작업
- 로딩,에러페이지 추가
- 데모 체험모드 제공
- 랜딩페이지 제작
- 비밀번호 재설정 기능 제공
- 기타 UXUI개선
프로젝트 수행 결과 (6분)
- MVP 시연 (무한스크롤 가능할 정도로 친구 추가해놓은 상태, 약속도 꽤 채워놓은 계정으로 시연 ? 한 3명정도, 약속도 5개 정도 해놓은 계정으로 시연? )
- 회원가입 → 로그인 → 비밀번호 재설정
- 내사람 추가 → 내사람 정보 수정 → 내사람 삭제
- 약속 추가 → 약속 수정 → 약속 삭제
- 캘린더페이지→ 약속 드래그앤 드랍 → 다가오는 약속에 변화 확인 → 캘린더에서 약속추가(빠른추가) → 옵션 더보기로 약속추가
- 기술적 의사결정
<aside>
💡
이번 프로젝트에서는 개발 효율성과 협업 편의성, 그리고 유지보수 가능성을 중점으로 기술 스택을 선정했습니다.
패키지 매니저로는 pnpm을 사용했습니다. 빠른 설치 속도와 디스크 공간 절약, 그리고 모노레포에 유리한 구조 덕분에 협업 환경에서 안정적인 성능을 보였습니다.
프레임워크는 Next.js 14를 사용했고, App Router 방식을 채택했습니다. 서버 컴포넌트와 클라이언트 컴포넌트를 구분하여 SSR과 CSR을 적절히 조합할 수 있었고, 레이아웃 구성이나 페이지 전환이 유연해 사용자 경험을 개선할 수 있었습니다.
상태 관리는 역할에 따라 분리했습니다. Zustand는 클라이언트 전역 상태를 간단하고 가볍게 관리하는 데 활용했고, TanStack Query는 서버 데이터를 비동기적으로 가져오고 캐싱하는 데 사용해 불필요한 네트워크 요청을 줄였습니다.
폼은 React Hook Form을 사용해 성능을 확보하면서도 유효성 검사를 간단하게 처리했고, React Big Calendar를 통해 약속을 시각적으로 표현하는 기능을 구현했습니다.
스타일링은 TailwindCSS를 기반으로 하고, 컴포넌트 레벨 UI는 shadcn/ui를 통해 빠르게 구성하면서도 일관된 디자인 시스템을 유지할 수 있었습니다.
기술 스택은 실제 사용성과 팀 상황을 고려해 유연하고 실용적으로 구성되었고, 결과적으로 빠른 개발과 안정적인 서비스 구현에 도움이 되었습니다.
</aside>
- pnpm: 빠른 설치, 디스크 절약, 협업에 강점
- Next.js 14 + App Router: 서버/클라이언트 컴포넌트 분리, 유연한 라우팅
- TypeScript: 코드 안정성과 협업 효율성
- Zustand: 전역 상태 간단 관리
- TanStack Query: 서버 상태 관리 + 캐싱 최적화
- React Hook Form: 성능 좋은 폼 처리
- React Big Calendar: 일정 시각화