Catalog application shows multiple products
- Crud User Operations
- Crud Catalog Operations
The APP uses a number of open source projects to work properly:
- [FastaApi] - Python Framework
- [Python] - Language
- [Alembic] - Migration Controller
- [Docker] - Containerization
- [Elastic Stack] - For Log and Analyze
- [SQLALCHEMY] - ORM
- [AWS SES] - For notifications
Application requires Docker and Docker compose
First change the .env.example name to .env after that :
Build the container
docker-compose build --no-cache
Start Container
docker-compose up -d
If you want to visualize api documentation use the postman collection inside the project or go to :
http://localhost:8000/docs
The first time the application runs is going to create a user with this credentials (that you can use to log in):
{
"email": "admin@admin.com",
"password":"Qwerty123"
}
To visualize the Log that shows what products the anonymous users just saw go to :
username: elastic password: changeme
http://localhost:5601/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:'2022-03-28T15:52:20.224Z',to:now))&_a=(columns:!(),filters:!(),index:'logs-*',interval:auto,query:(language:kuery,query:''),sort:!(!('@timestamp',desc)))
The application is using a ddd approach with a hexagonal architecture
also we are following this classic rules in the directories and dependencies:
in the future will be much easier migrate from this monolithic projecto into a microservices one.
MIT