Map-first product for finding and posting workout-partner opportunities.
Demo: Vite + React + TS
The current hosted deployment is client-only on vercel.
- Keep the map as the primary discovery surface.
- Help people find nearby workout partners without turning the product into a social feed.
- Preserve lightweight, low-pressure interactions.
- Improve trust, clarity, and responsiveness without changing the product thesis.
Homeis the map-first entry page with linked map, list, and detail discovery states./findis a dedicated condition-based discovery page with its own filters and comparison flow./registis a staged posting flow with required-field validation, a pre-submit summary, and a success state.- The backend exposes a Kakao suggest proxy plus app-owned
POST /api/login,GET /api/work-with/locations/:locationId, andPOST /api/work-withroutes. - Auth currently uses fixed demo credentials, and work-with storage is still in-memory demo data.
- Frontend:
Vite,React,TypeScript,Recoil,Tailwind CSS,axios,react-kakao-maps-sdk - Backend:
Express,TypeScript,postgres - Tooling:
ESLint,Jest,concurrently
yarn
yarn --cwd client
yarn --cwd serveryarn startyarn startruns the client and server together from the repository root.yarn clientstarts only the frontend dev server.yarn serverstarts only the backend dev server.
yarn run checkIndividual validation commands:
yarn client:lintyarn client:buildyarn client:testyarn server:build
docker-compose.dev.yaml does not mirror the full root dev workflow.
- It currently manages
postgresand theclientcontainer. - It does not start the Node server.
- If you use Docker Compose for local infrastructure, run the backend separately with
yarn --cwd server dev.
Example:
docker compose -f docker-compose.dev.yaml up --build postgres client