-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Hyunseok Ryu edited this page May 14, 2025
·
16 revisions
TimePay는 동네 기반의 도움 교환 서비스를 위한 프로그레시브 웹 애플리케이션입니다.
사용자는 도움 요청 게시글을 작성하고, 다른 사람의 요청에 지원하며, 실시간 채팅을 통해 소통하고, 시간 기반의 가상 화폐를 통해 거래를 완료할 수 있습니다.
핵심 슬로건은 동네 주민들과 도움을 주고 받아요입니다.
이 문서는 EUM-Frontend 저장소의 주요 기능, 아키텍처 및 기술 스택에 대한 개요를 제공합니다.
- 게시글 시스템: 도움 요청 게시글의 생성, 열람 및 지원 기능
- 채팅 시스템: 사용자 간 실시간 메시지 기능
- 인증 시스템: Google 및 Kakao를 통한 사용자 인증
- 이체 시스템: 사용자 간 "시간" 화폐 이체 기능
- 프로필 관리: 사용자 프로필 생성 및 관리
- PWA 기능: 모바일 및 오프라인 접근성 제공
- 컴포넌트 기반 UI 개발
- 클라이언트 사이드 라우팅: React Router DOM 사용
- 외부 API 통합: Axios 및 WebSocket (StompJS) 활용
- 상태 관리: Recoil 및 React Query 사용
- PWA 기능: Service Worker 및 Web Manifest를 통한 오프라인 접근성 제공
범주 | 기술 스택 |
---|---|
프론트엔드 | React, TypeScript |
라우팅 | React Router DOM |
스타일링 | Styled Components |
상태 관리 | Recoil, React Query |
API 통신 | Axios, StompJS (WebSocket) |
인증 | OAuth (Google, Kakao) |
PWA | Service Worker, Web Manifest |
푸시 알림 | Firebase Cloud Messaging |
UI 컴포넌트 | Swiper, Framer Motion |
개발 도구 | CRACO, ESLint, Prettier |
- Google 또는 Kakao를 통해 로그인
- 신규 사용자 프로필 생성 및 설정
- 도움 요청 게시글 열람
- 도움 요청 게시글 작성
- 다른 사용자의 요청에 지원
- 매칭된 사용자 간 실시간 채팅
- "시간" 화폐를 통한 거래 완료
src/
├── assets/ // 아이콘 등의 정적 자산
├── components/ // 재사용 가능한 UI 컴포넌트
│ ├── common/ // 공통 컴포넌트
│ ├── input/ // 입력 관련 컴포넌트
│ └── modal/ // 모달 및 바텀 시트 컴포넌트
├── pages/ // 페이지 컴포넌트
├── routes/ // 라우팅 설정
├── services/ // API 통신 및 서비스 로직
├── states/ // 상태 관리 (Recoil 등)
├── utils/ // 유틸리티 함수
└── index.tsx // 앱 진입점
---
## 🔗 관련 소스 파일
- [.eslintrc.cjs](https://github.com/kookmin-sw/capstone-2025-44/blob/frontEnd/.eslintrc.cjs)
- [craco.config.js](https://github.com/kookmin-sw/capstone-2025-44/blob/frontEnd/craco.config.js)
- [package.json](https://github.com/kookmin-sw/capstone-2025-44/blob/master/frontEnd/package.json)
- [public/manifest.json](https://github.com/kookmin-sw/capstone-2025-44/blob/frontEnd/public/manifest.json)
- [src/pages/login/index.tsx](https://github.com/kookmin-sw/capstone-2025-44/blob/frontEnd/src/pages/login/index.tsx)
- [src/routes/index.tsx](https://github.com/kookmin-sw/capstone-2025-44/blob/frontEnd/src/routes/index.tsx)