Skip to content

dhomini-rabelo/Product-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de produtos - Backend

API para gerenciar sistema de produtos


🔗 Tópicos


🛠️ Ferramentas


🏷️ Modelagem do banco de dados

User

  • Username ( gerenciada pelo AbstractUser do Django )
  • Senha ( gerenciada pelo AbstractUser do Django )
  • Nome
  • Email

Categoria

  • Nome UNIQUE
  • Data de criação
  • Data de atualização

Produto

  • Nome UNIQUE
  • Descrição OP
  • Categoria FK
  • Data de criação
  • Data de atualização

Mediador de preços

  • Produto FK
  • Fornecedor FK
  • Preço

Endereço

  • Cep
  • Rua
  • Bairro
  • Complemento OP
  • Número OP

Fornecedor

  • Nome UNIQUE
  • Razão social OP
  • Cnpj
  • Endereço o2o

Contato

  • Fornecedor FK
  • Número


📖 Documentação


Organização

  • Os padrões principais do projeto estão na pasta backend/project/Core
  • Os apps estão na pasta backend/project/backend
  • backend/PRODUCTS é onde está a configuração do projeto


Views e rotas

Note que nas imagens e gifts também contêm os erros



CategoryListAndCreate - /categories

GET: Lista categorias
POST: Cria nova categoria





CategoryDetail - /categories/[id]

GET: Dados da categoria
PUT: Atualiza todos os campos de categoria
PATCH: Atualiza categoria
DELETE: Deleta categoria





ProductDataControlAndCreate - /products

GET: Lista produtos, seleciona campos desejados e faz filtros, usando Rest-Full-Control
POST: Cria novo produto com ou sem fornecedor(es)





ProductDetail - /products/[id]

GET: Dados da produto
PUT: Atualiza todos os campos de produto | PATCH: Atualiza produto
Altera categoria | cria, altera e deleta fornecedores
Para alterar categoria basta indicar nome de outra categoria já cadastrada
Para criar um fornecedor basta apenas indicar o nome ( ou id ) do novo fornecedor e o preço do produto
Para alterar um fornecedor basta apenas indicar o nome ( ou id ) do fornecedor e o novo preço do produto
Para deletar um fornecedor indique os ids para serem deletados em um array no campo "delete_providers"
DELETE: Deleta produto






ProviderDataControlAndCreate - /providers

GET: Lista produtos, seleciona campos desejados e faz filtros, usando Rest-Full-Control
POST: Cria novo fornecedor





ProviderDetail - /providers/[id]

GET: Dados da fornecedor
PUT: Atualiza todos os campos de fornecedor | PATCH: Atualiza fornecedor
Altera endereço | cria, altera e deleta fornecedores ou contatos
Para criar um produto basta apenas indicar o nome ( ou id ) do novo produto e o preço do produto
Para alterar um produto basta apenas indicar o nome ( ou id ) do produto e o novo preço do produto
Para deletar um produto indique os ids para serem deletados em um array no campo "delete_products"
Para criar um contato apenas indique um número novo
Para alterar um contato apenas indique um número novo e o id do contato que quer alterar
Para deletar um contato indique os ids para serem deletados em um array no campo "delete_contacts"
DELETE: Deleta fornecedor




🧪 Testes

python manage.py test --pattern="*_t.py"


🚀 Como usar na sua máquina

Depois de clonar o projeto basta apenas preencher o arquivo .env.dev e renomeá-lo para .env e seguir os comandos abaixo.


cd backend
python -m venv venv
venv/Scripts/Activate.ps1 # if use PowerShell
pip install -r requirements.txt
pip freeze > requirements.txt
cd project
python manage.py runserver

About

Sistema de gerenciamento de produtos

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages