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.example
to.env
and 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: