A modern, open-source meeting room booking system with a FastAPI backend and a Streamlit frontend. Designed for teams and organizations to easily manage room reservations, send calendar invites, and receive email notifications.
- Room booking and management
- User authentication (admin and regular users)
- Email notifications with calendar invites (ICS attachment and Google Calendar link)
- Admin panel for managing rooms, users, and email settings
- Data backup and health check endpoints
- Modern, responsive UI with light/dark mode
- Dockerized for easy deployment
git clone https://github.com/yourusername/meeting-room-booking.git
cd meeting-room-bookingdocker-compose up --build- Backend: http://localhost:8000
- Frontend: http://localhost:8501
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app:app --reloadstreamlit run streamlit_app.py- Email: Set up SMTP settings in the Admin Panel after first login.
- Admin User: The first user is created automatically (see login screen for details).
- Data: All data is stored in the
data/directory as JSON files. Default rooms are auto-generated if missing. - Environment Variables:
API_BASE_URL(for frontend, default:http://localhost:8000)SECRET_KEY(for backend, optional: auto-generated if not set)
- Fork this repo and create your feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/YourFeature) - Open a Pull Request
- Do not store real credentials in the repo.
- For production, use secure SMTP credentials and set a strong
SECRET_KEY. - If you discover a security issue, please open an issue or contact the maintainers.
This project is licensed under the MIT License. See LICENSE for details.