![dependabot[bot]](/assets/img/avatar_default.png)
Bumps [starlette](https://github.com/encode/starlette) from 0.26.1 to 0.27.0. - [Release notes](https://github.com/encode/starlette/releases) - [Changelog](https://github.com/encode/starlette/blob/master/docs/release-notes.md) - [Commits](https://github.com/encode/starlette/compare/0.26.1...0.27.0) --- updated-dependencies: - dependency-name: starlette dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
FastAPI Best Architecture
This is a base project of the FastAPI framework.
It‘s purpose is to allow you to develop your project directly with it as your base project
Support python3.10 and above
Skill
- FastAPI
- Pydantic
- SQLAlchemy
- Alembic
- MySQL
- Redis
- APScheduler
- Docker
Clone
git clone https://github.com/wu-clan/fastapi_best_architecture.git
Use:
1:Tradition
-
Install dependencies
pip install -r requirements.txt
-
Create a database
fba
, choose utf8mb4 encode -
Install and start Redis
-
create a
.env
file in thebackend/app/
directorycd backend/app/ touch .env
-
Copy .env.example to .env and view
backend/app/core/conf.py
, update database configuration information -
Perform a database migration alembic
cd backend/app/ # Generate the migration file alembic revision --autogenerate # Perform the migration alembic upgrade head
-
Execute the backend/app/main.py file startup service
-
Browser access: http://127.0.0.1:8000/v1/docs
2:Docker
-
Run the one-click start command in the directory where the
docker-compose.yml
file is locateddocker-compose up -d --build
-
Wait for the command to finish automatically
-
Browser access: http://127.0.0.1:8000/v1/docs
Init the test data
Execute the backend/app/init_test_data.py
file
Test
Perform tests via pytest
Tip: Before the test starts, please execute init the test data first, also, the fastapi service needs to be started
-
First, go to the app directory
cd backend/app/
-
Execute the test command
pytest -vs --disable-warnings