지역 기반 공동구매 웹 서비스
모집 → 참여 → 실시간 채팅 → 완료·리뷰까지 한 흐름으로 제공합니다.
| Frontend | Backend | Images |
|---|---|---|
| Vercel · React 18 | Render · Spring Boot 3.5 | Cloudinary |
Backend · https://gonggu-web.onrender.com
상세 문서 · docs/PROJECT.md
| 이름 | 역할 |
|---|---|
| 윤아령 | Backend |
| 강유진 | Backend |
| 서정우 | Frontend |
- 회원 — 회원가입 / 로그인 / 프로필
- 공구 — 게시글 CRUD, 1/n 가격 계산, 이미지 첨부
- 참여 — 그룹 참여, 일정 확정·완료
- 채팅 — WebSocket(STOMP) 실시간 메시지·이미지
- 리뷰 — 거래 완료 후 평가
Backend · Java 21 · Spring Boot · JPA · Security · WebSocket · Docker
Frontend · React 18 · Axios / Fetch · SockJS + STOMP
Infra · Render · Vercel · Cloudinary
React (Vercel) ──REST / WS──▶ Spring Boot (Render)
│
┌──────────┴──────────┐
▼ ▼
H2 / MySQL Cloudinary
gonggu-web/
├── backend/ # Spring Boot API · WebSocket
├── frontend/ # React SPA
├── docs/PROJECT.md # 프로젝트 상세
├── Dockerfile # Render 배포용
└── render.yaml
cd backend
./gradlew bootRun # Java 21, 기본 profile=dev (H2)
# → http://localhost:8080cd frontend
npm install && npm start # → http://localhost:3000| 환경변수 | 설명 |
|---|---|
REACT_APP_API_URL |
API 주소 (로컬 기본 http://localhost:8080) |
SPRING_PROFILES_ACTIVE |
dev / prod |
cloudinary.* |
이미지 업로드 (application.properties) |
| Backend | Frontend | |
|---|---|---|
| 플랫폼 | Render (Docker) | Vercel |
| 설정 | SPRING_PROFILES_ACTIVE=prod |
Root = frontend |
REACT_APP_API_URL = 백엔드 URL |
main push 시 자동 배포됩니다.
Render Free는 cold start가 있고, 데모용 H2는 재시작 시 데이터가 초기될 수 있습니다.
| Endpoint | |
|---|---|
| Auth | POST /api/auth/signup · POST /api/auth/login |
| Posts | GET·POST /api/posts · DELETE /api/posts/{id} |
| Groups | POST /api/groups/{id}/join · confirm · complete |
| Chat | GET /api/chatrooms · WS /ws → /topic/chat/{id} |
| Reviews | POST /api/reviews/group/{groupId} |
게시글·채팅 이미지는 multipart 업로드 후 Cloudinary URL로 저장합니다.
MIT