HotelNex is a modern multi-tenant, white-label hotel management and food ordering SaaS platform for Tanzania and beyond, built with Django and React. It enables seamless hotel bookings, food ordering and delivery, reviews, loyalty rewards, and dynamic platform management for guests, hotel admins, and superusers all in one secure, mobile-friendly solution.
A modern, production-ready hotel management and food ordering platform for Tanzania and beyond. Built with Django (backend) and React + TypeScript (frontend).
- Hotel listing, booking, and management
- Food ordering and delivery (per hotel)
- User, hotel admin, and superuser dashboards
- Reviews and ratings (platform, hotel, food)
- Loyalty points and rewards system
- Secure authentication (JWT)
- Notifications and analytics
- Dynamic platform branding and settings
- Mobile-friendly, modern UI
- Backend: Python, Django, Django REST Framework, PostgreSQL, Celery, Redis
- Frontend: React, TypeScript, Vite, Tailwind CSS
- Other: WebSockets (Django Channels), Sentry, Docker (optional)
smartstay_project/
├── smartstay_project/ # Django project (settings, URLs, wsgi/asgi)
├── hotels/ # Hotel models, views, admin
├── food_ordering/ # Food ordering models, views
├── room_booking/ # Room and booking models, views
├── reviews/ # Review system
├── subscriptions/ # Subscription plans
├── payments/ # Payment integration
├── notifications/ # Notification system
├── platform_management/ # Platform-wide settings
├── users/ # User model and auth
├── chatbot/ # AI chatbot integration
├── frontend_project/ # React + TypeScript frontend
└── ...
- Python 3.9+
- Node.js 18+
- PostgreSQL (or SQLite for dev)
- Redis (for Celery/Channels)
- Clone the repo:
git clone <your-repo-url> cd smartstay_project
- Create a virtual environment:
python3 -m venv .venv source .venv/bin/activate - Install dependencies:
pip install -r requirements.txt
- Configure environment variables:
- Copy
.env.exampleto.envand fill in your secrets (DB, secret key, etc.)
- Copy
- Run migrations:
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Run the backend server:
python manage.py runserver
- Install dependencies:
cd frontend_project npm install - Configure environment variables:
- Copy
.env.exampleto.envand set API base URL, etc.
- Copy
- Run the frontend dev server:
npm run dev
celery -A smartstay_project worker -l infopython manage.py runworker- See
.env.examplefor all required variables (DB, secret key, Sentry, etc.)
- Use Gunicorn/Uvicorn for production
- Set
DEBUG=Falseand configure allowed hosts, CORS, and secure settings - Use a production-ready database (PostgreSQL recommended)
- Set up static/media file serving (e.g., via WhiteNoise, S3, or Nginx)
- Configure Sentry for error monitoring
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
- Fork the repo
- Create your feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/your-feature) - Open a pull request