Skip to content

dhomini-rabelo/Coin-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coin-Backend

🔗 Tópicos


📖 Sobre

Este é um projeto para controle financeiro, aqui contém apenas o back-end. Acesse o repositório front-end em: https://github.com/dhomini-rabelo/Coin-Frontend.

Organização

  • Os apps estão na pasta backend
  • A pasta COIN é onde está a configuração do projeto

🛠️ Ferramentas

  • Django
  • Django Rest Framework
  • Django signals
  • django-cors-headers
  • simplejwt
  • Fast
  • Redis

🏷️ Modelagem do banco de dados

User

  • username
  • password
  • name
  • email
  • notification_time

Bill

  • user
  • title
  • description
  • bill_type
  • value
  • payment_method
  • day
  • partials
  • created_at


🌐 Rotas


  • Cadastro - "/api/register"


  • Autenticação JWT - "/api/get-token"


  • Atualizar token - "/api/refresh-token"


  • Sem autenticação


  • Atualizar horário de notificação - "/api/change-notification-time"


  • Atualizar senha - "/api/change-password"


  • Atualizar email - "/api/change-email"


  • Cadastrar conta - "/api/bills"


  • Listar contas - "/api/bills"

    Esta API faz o cache das contas enquanto nenhuma conta for alterada, excluída ou adicionada para esse usuário, esse controle só é possível através do Django signals.

    Classe que faz o controle do cache (CacheController) e uma instância (bill_cache): "project/Core/controllers/cache.py"
    Api que usa o cache com um decorator (BillListCreateAPI): "project/backend/bills/api/bills.py"
    Signals que remove o cache (renew_bill_cache): "project/backend/bills/app/signals.py"