A HackerRank sample repo for personal scheduling and team coordination.
- React 19 and Vite 8 for the frontend
- Bun for JavaScript workspace installation
- JDK 21 and Spring Boot 3.4 for the HTTP API
- The committed Gradle 9.7 wrapper for backend builds and execution
- MongoDB and Spring Data MongoDB for persistence
- Feature validators and shared exception handling for request validation
- Java JWT and bcrypt for authentication
.
├── backend/ # Spring Boot API, business logic, and MongoDB persistence
│ ├── src/main/java/ # Product domains and application code
│ ├── src/main/resources/ # Application configuration and local media
│ └── gradle/wrapper/ # Pinned Gradle wrapper runtime
├── frontend/
│ ├── src/features/ # Product views and interactions
│ ├── src/shared/ # API client, reusable controls, and utilities
│ └── public/ # Local static media
├── .vscode/launch.json # Spring Boot debugger configuration
├── hackerrank.yml # HackerRank install and run configuration
└── setup.sh # Backend, MongoDB, and seed setup
- Bun 1.3 or later
- JDK 21
- MongoDB 8.0 or later on
127.0.0.1:27017
Gradle is provided through the committed wrapper.
-
Clone the repository.
git clone https://github.com/ProblemSetters/coderepo-react-springboot-calendar.git
-
Open the project directory.
cd coderepo-react-springboot-calendar -
Install the pinned JavaScript workspace.
bun install
-
Start the complete application.
bun start
Startup builds the backend when needed, checks MongoDB, restores the seeded baseline, and launches the frontend and backend.
-
Open http://localhost:3000 and sign in.
Email: alex.morgan@calendar.com Password: password123Choose any seeded profile to enter the calendar workspace.
The frontend runs on port 3000, the API runs on port 8000, and health is available at http://localhost:8000/api/v1/health.
| Command | Purpose |
|---|---|
bun start |
Seeds MongoDB and starts Spring Boot and Vite together. |
bun run seed |
Restores the deterministic MongoDB baseline through Gradle. |
bun run dev:backend |
Starts only the Spring Boot API on port 8000. |
bun run dev:frontend |
Starts only Vite on port 3000. |
HackerRank installs the application with bun install && bash setup.sh --seed and runs it with bun start.
