alexanderMedina / zebrand

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Zebrand

API Documentation

N|Solid

Build Status

Catalog application shows multiple products

Features

  • Crud User Operations
  • Crud Catalog Operations

Tech

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

Installation

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

API Documentation

If you want to visualize api documentation use the postman collection inside the project or go to :

http://localhost:8000/docs

Use

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)))

Architecture

The application is using a ddd approach with a hexagonal architecture

alt text

also we are following this classic rules in the directories and dependencies:

alt text

in the future will be much easier migrate from this monolithic projecto into a microservices one.

License

MIT

About


Languages

Language:Python 76.3%Language:Shell 16.0%Language:Dockerfile 5.5%Language:Mako 1.3%Language:Go 0.9%