A HackerRank sample repo for personal scheduling and team coordination.
- React 19 and Vite 8 for the frontend
- Bun for JavaScript workspace installation
- Python 3.12, Django 5.1, and Django REST Framework for the HTTP API
- MongoDB and MongoEngine for persistence without the Django ORM
- Feature schemas and shared validation utilities for request validation
- PyJWT and bcrypt for authentication
.
├── backend/ # Django API, business logic, and MongoDB persistence
│ ├── apps/ # Product domains and API flows
│ ├── calendar_backend/ # Django settings and URL composition
│ ├── scripts/ # Deterministic seed data
│ └── public/ # Backend-served local media
├── frontend/
│ ├── src/features/ # Product views and interactions
│ ├── src/shared/ # API client, reusable controls, and utilities
│ └── public/ # Local static media
├── .vscode/launch.json # Django debugger configuration
├── hackerrank.yml # HackerRank install and run configuration
└── setup.sh # Python, MongoDB, and seed setup
- Bun 1.3 or later
- Python 3.12
- uv
- MongoDB 8.0 or later on
127.0.0.1:27017
-
Clone the repository.
git clone https://github.com/ProblemSetters/coderepo-react-django-calendar.git
-
Open the project directory.
cd coderepo-react-django-calendar -
Install the pinned JavaScript workspace.
bun install
-
Start the complete application.
bun start
Startup prepares the Python environment, 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 Django and Vite together. |
bun run seed |
Restores the deterministic MongoDB baseline. |
bun run dev:backend |
Starts only the Django 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.
