A full-stack application for creating and managing local social groups with safe, map-driven location selection.
This platform enables users to create, search, and join groups tied to real locations. It supports both:
- traditional group creation using an existing saved place, and
- dynamic place creation from map selections using external place IDs.
The feature is implemented with full backward compatibility, so existing clients continue to work unchanged while new clients can leverage map-based place creation.
- β Dynamic place creation from map selection
- β
Smart duplicate prevention using
externalPlaceId + source - β Zero breaking changes for existing group creation flows
- β No database migration required
- β Production-ready design with full test coverage
The project improves user experience by allowing users to choose any location from a map instead of only using pre-stored places. It also keeps the database clean by reusing existing place records when the same external location is selected multiple times.
- Create groups using either:
- an existing place ID (
placeId), or - a new map-based place payload (
mapPlace)
- an existing place ID (
- Automatically create or reuse place records for map-selected locations
- Support for Google-like external place IDs and location metadata
- Preserve all legacy behavior for existing saved places
- Group management, user authentication, chat, and safety features across backend and frontend
- Backend: Java + Spring Boot
- Persistence: MongoDB
- Frontend: React + Vite
- Auth: JWT-based security
- API design: REST endpoints
- Project structure:
backend/frontend/Readmis/for documentation and project reports
backend/β Spring Boot backend source codefrontend/β React/Vite frontend appReadmis/β project documentation, architecture, summaries, and reports
Readmis/EXECUTIVE_SUMMARY.mdβ high-level completion and business impactReadmis/ARCHITECTURE.mdβ system design and component architectureReadmis/IMPLEMENTATION_SUMMARY.mdβ implementation details and rationaleReadmis/QUICK_REFERENCE.mdβ usage examples, API references, and testsReadmis/CHANGES.mdβ changelog and file impact summary
cd backend
./mvnw clean package
./mvnw spring-boot:runcd frontend
npm install
npm run devcd backend
./mvnw test- This project is built for a real-world social coordination use case.
- The feature work is architected to avoid regressions and preserve existing behavior.
- Documentation is complete and organized for technical and non-technical audiences.
- The repository includes both backend and frontend implementations, showing full-stack capability.
For a quick review, start with:
Readmis/EXECUTIVE_SUMMARY.mdReadmis/ARCHITECTURE.mdReadmis/QUICK_REFERENCE.mdReadmis/CHANGES.md
This single README is intended to present the project clearly to recruiters and new reviewers, while the
Readmis/folder contains the full technical documentation.