A secure, scalable multi-tenant application with schema-based isolation, featuring robust authentication and admin management.
-
Multi-Tenant Architecture
- PostgreSQL schema isolation
- Automated tenant provisioning
- Per-tenant database connections
-
Authentication & Security
- JWT token authentication
- Google OAuth 2.0 integration
- BCrypt password hashing
- Email verification flow
-
Admin Features
- Audit logging system
- Superadmin privileges
- User activity monitoring
-
DevOps Ready
- Docker containerization
- Alembic database migrations
- Environment variable configuration
1️⃣ Clone the Repository
git clone https://github.com/Moretti-Fool/multi_tenant_saas_api.git
cd multi-tenant-saas2️⃣ Create a Virtual Environment
python3 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate3️⃣ Install Dependencies
pip install -r requirements.txt4️⃣ Setup Environment Variables
Rename .env.example to .env and update the database credentials.5️⃣ Run Database Migrations
alembic upgrade head6️⃣ Initialize Admin User
python admin_create.py create-admin7️⃣ Start the Application
uvicorn main:app --host 0.0.0.0 --port 8000docker-compose -f docker-compose-prod.yml up --build