This is an advanced FastAPI project with a structure similar to Django, designed for scalability and maintainability. It allows users to create and manage their own apps dynamically.
- Clone the repository
- Enter the repository path
- Create a virtual environment:
python -m venv venv - Activate the virtual environment:
- On Windows:
venv\Scripts\activate - On macOS and Linux:
source venv/bin/activate
- On Windows:
- Install dependencies:
pip install -r requirements.txt - Copy
.env.exampleto.envand fill in your configuration details - Run migrations:
python manage.py migrate
Here are some commands you can use with manage.py:
python manage.py runserver: Start the FastAPI development serverpython manage.py createapp <app_name>: Create a new app with the given namepython manage.py deleteapp <app_name>: Delete an existing apppython manage.py listapps: List all installed appspython manage.py makemigrations: Generate new database migrationspython manage.py migrate: Apply database migrationspython manage.py test: Run testspython manage.py shell: Start an interactive Python shell
apps/: Application modules (user-created)core/: Core functionality (config, database, security)migrations/: Database migration filesstatic/: Static filestemplates/: HTML templatestests/: Global test filesutils/: Utility functions and classesmain.py: FastAPI application instancemanage.py: Command-line interface for common taskswsgi.py: WSGI server configuration for deployment
- Dynamic app creation and management
- Modular app structure for scalability
- Advanced configuration management using Pydantic
- Built-in user authentication and security features
- Automatic API documentation with Swagger UI
- Database migrations with Alembic
- CORS middleware configured
- Static file and template handling
- Deployment-ready with WSGI configuration
To create a new app, run: