An API to aggregate personal projects.
- CRUD operations
- Authentication with JWT
- Layered Architecture
- Custom exceptions and handlers
- Database migrations with Alembic
- Management commands with Typer
- Dockenized app running PostgreSQL and pgAdmin
- Tests with Pytest
- Continuous Integration with Github Actions
- Continuous Deployment at Heroku
See the live preview deployed at Heroku.
- Clone this repository:
git clone git@github.com:diogo-alves/pet-projects-api.git
- Go to the project directory:
cd pet-projects-api
- Install the project dependencies:
make install
- Create an
.env
¹ file based on.env.example
. To generate the SECRET_KEY run:
make secret-key
¹ NOTE: By running the app locally, you can set DATABASE_URL to use SQLite without having to install a database system.
make local
make docker
make tests
- API:
http://localhost:8000/api/docs
- pgAdmin:
http://localhost:5050
(only running with docker)
To see all commands type:
make commands
- Swagger UI:
(http://localhost:8000/api/docs/
- Redoc:
http://localhost:8000/api/redoc
This project is under the terms of the MIT license.