The ReserveMe API simplifies the process of booking and managing spaces, such as meeting rooms, event halls, or workspaces. It features robust user authentication, real-time availability tracking, and notifications, making it an efficient tool for both personal and professional use.
Booking spaces can be a tedious process without an organized system. The ReserveMe API streamlines space booking by allowing users to:
- View and book spaces: Check availability and book spaces in real time.
- Manage reservations: Update or cancel reservations seamlessly.
- Receive notifications: Stay informed with automated notifications for booking confirmations, reminders, and updates.
- Secure user access: Authenticate and manage bookings through JWT-based secure access.
- User Management — JWT-based authentication for registration and login
- Space Management — Add, update, and delete spaces with metadata
- Real-Time Booking — Book with up-to-date availability tracking
- Notifications — Email or in-app booking updates
- Secure Access — Role-based access control
- Automation — Scheduled reminders for upcoming bookings
| Layer | Technology |
|---|---|
| Backend Framework | FastAPI |
| Database | PostgreSQL with SQLAlchemy ORM |
| Authentication | JWT |
| Deployment | Docker |
| Package Management | uv (by Astral) |
- Python 3.12+
- PostgreSQL (for database)
- Docker (optional, for containerized deployment)
- uv (Python package manager) → Install here
git clone https://github.com/Incognitol07/ReserveMe
cd ReserveMe-
Sync dependencies and create virtual environment:
uv sync
uvautomatically handles your virtual environment (no need forvenv).
Copy the example .env:
copy .env.example .envUpdate the values inside .env as needed.
-
Start the FastAPI server:
uv run uvicorn app.main:app --reload
-
Open your browser at http://127.0.0.1:8000
You can test the API using:
- FastAPI Docs: http://127.0.0.1:8000/docs
- curl or Postman
This project is licensed under the MIT License.