Git Product home page Git Product logo

bhub's Introduction

BHub

Frameworks e Bibliotecas

Possivel Infra-estrutura

  • 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

Arquitetura base

  • 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

Observações

  • 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

Desenvolvimento

  • 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

Para executar o sistema basta rodar o comando abaixo

make run
  • O django vai ser executado e será acessivel atraves de http://localhost:8000/admin/
  • Login: admin
  • Senha: admin

Para executar os testes unitários siga as instruções abaixo

- 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

bhub's People

Contributors

diorgeles avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.