- App engine (GCP)
- Com ele poderemos ter um frontend rodando em container gerenciado pelo google com muitos recursos como por exemplo teste A/B
- Google Cloud Run
- Colocamos a imagen do backend
- Aqui tambem podemos colocar o celery pra rodar a aplicação em workers
- Subimos uma imagem do rabbitmq que vai estar ligado ao celery do django
- Google Cloud SQL Ou Neon - https://neon.tech
- Provisionar uma versão de postgres
- Alguns modulos podem funcionar de forma assincrona e com isso é necessario balacear quais funções poderiam ser executadas em filas de processamentos
- Funções que poderiam ser em filas
- Processamento de pagamentos
- Notificações, como emails e sms
- Geração de relatórios
- Funções que poderiam ser em filas
- Só existe 2 modulos com tabelas criadas, Order e Payment, a ideia é mostrar como eu pensei na solução do problema
- Na minha ideia, cada "pos pagamento" gera uma chamada para uma função subsequente responsavel por executar algo.
- Cada tipo de pedido tem sua regra em uma class, exemplo:
- Se o pagamento for um livro preciso criar uma guia de remessa e gerar um pagamento de comissão, então foi feito uma class separada que só vai lidar com isso, e toda a regra de negocio pode ir nesta class
- Pastas que poderiam ser modulos porem foram abstraido nesta solução
- associates
- notifications
- products
- shipments
-
O projeto foi desenvolvido sobre o framework Django e roda em um container Docker
-
Para instalar o projeto siga as instruções abaixo
git clone [email protected]:Diorgeles/bhub.git
cd bhub
python -m venv .venv
source .venv/bin/activate
pip install -r requirements/base.txt
make run
- O django vai ser executado e será acessivel atraves de
http://localhost:8000/admin/
- Login: admin
- Senha: admin
- A melhor forma de ver as coisas funcionando é executando os testes unitários, deixei prints pra facilitar o entendimento da ideia
make run-db
make only