/dvdrental-backend

Primary LanguagePythonMIT LicenseMIT

DVD Rental Backend

Recently, I have started reading "Architectures Patterns with Python" book(which is also available online here). In the book, the author uses django for the examples. As I am more familiar with fastapi, I wanted to implement the "Repository Pattern" in FastApi application with currently available packages. I learned the "Repository Pattern" concept from the book, and followed this great blog post to implement the pattern with my setup.

I used a sample database provided by PostgreSQL Tutorial.

NOTE: This is not a totally completed application. This is an implementation to check my understanding of the concept. Even then I tried to follow many practices and will try to do other experiments here.

"/app" directory structure.

.
├── db
│   ├── repositories
│   ├── schemas
│   └── tables
├── dtos
│   ├── requests
│   └── responses
├── exceptions
│   ├── exception_messages
│   └── services
├── routes
├── services
│   ├── implementations
└── utils

Examples(Screenshots):

Swagger Overview swagger_overview

/actors Endpoint swagger_overview_actors

/actors/{actor_id} Endpoint swagger_overview_actor

TODO List:

[] ...

[] ...

[] ...

...

Learning Resources:

FastApi

Pytest

PostgreSQL