A HackerRank sample repo for personal scheduling and team coordination.
- React 19 and Vite 8 for the frontend
- Bun for workspace installation and JavaScript execution
- Express 5 for the HTTP API
- MongoDB and Mongoose for persistence
- Zod for request validation
- JSON Web Tokens and bcrypt for authentication
.
├── backend/ # Express API, business logic, and MongoDB persistence
│ └── src/
│ ├── features/ # Product domains and API flows
│ ├── scripts/ # Deterministic seed data
│ └── shared/ # Configuration, authentication, and utilities
├── frontend/
│ ├── src/features/ # Product views and interactions
│ ├── src/shared/ # API client, reusable controls, and utilities
│ └── public/ # Local static media
├── .vscode/launch.json # Backend debugger configuration
├── hackerrank.yml # HackerRank install and run configuration
└── setup.sh # MongoDB readiness and seed reset
- Bun 1.3 or later
- MongoDB 8.0 or later on
127.0.0.1:27017
-
Clone the repository.
git clone https://github.com/ProblemSetters/coderepo-react-node-calendar.git
-
Open the project directory.
cd coderepo-react-node-calendar -
Install the pinned workspaces.
bun install
-
Start the complete application.
bun start
Startup 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 the frontend and backend together. |
bun run seed |
Restores the deterministic MongoDB baseline. |
bun run dev:backend |
Starts only the Express 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.
