Skip to content

Repository files navigation

공구나라 (Gonggu)

지역 기반 공동구매 웹 서비스
모집 → 참여 → 실시간 채팅 → 완료·리뷰까지 한 흐름으로 제공합니다.

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

실행

Backend

cd backend
./gradlew bootRun          # Java 21, 기본 profile=dev (H2)
# → http://localhost:8080

Frontend

cd 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는 재시작 시 데이터가 초기될 수 있습니다.


API

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로 저장합니다.


License

MIT

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages