Desenvolvi esta API de e-commerce com Flask, permitindo o cadastro e autenticação de usuários, além da gestão de produtos e do carrinho de compras.
- Python
- Flask
- Flask-SQLAlchemy
- Flask-Login
- Flask-CORS
- SQLite
python -m venv venvAtivar o ambiente virtual:
Linux/macOS (Terminal)
source venv/bin/activate Usando o Windows (CMD)
venv\Scripts\activate Windows (PowerShell)
.\venv\Scripts\activatepip install -r requirements.txtAbra o terminal no diretorio do seu projeto e ative a venv caso esteja usando ela para guardar as libs que você está utilizando.
Enseguida escreva o nome do seu arquivo principal na variavel "FLASK_APP=":
Usando o Windows (CMD)
set FLASK_APP=api.pyWindows (PowerShell)
$env:FLASK_APP="api.py"Linux/macOS (Terminal)
export FLASK_APP=api.pyÉ de extrema importância que tenha feito a devida configuração do Bandco de Dados
Digite o seguinte comando no terminal:
flask shellAgora, use este comando para criar o banco de dados:
db.create_all()Para confirmar a criação, execute:
db.session.commit()Se precisar apagar o banco de dados já criado, repita os passos anteriores e digite:
db.drop_all()Para sair do shell do Flask, use:
>exit()É de extrema importância que tenha feito a devida configuração do Bandco de Dados
python api.pyA API estará disponível em http://127.0.0.1:5000/.
A API usa Flask-Login para autenticação de usuários. Algumas rotas requerem autenticação e privilégios de administrador.
- Usuários comuns podem se cadastrar e gerenciar seu carrinho de compras.
- Apenas administradores podem adicionar, editar e remover produtos.
POST /registration→ Cadastro de usuárioPOST /registration-admin→ Cadastro de administradorPOST /login→ Login do usuárioPOST /logout→ Logout do usuário
POST /api/products/add→ Adicionar produto (Admin)DELETE /api/products/delete/<product_id>→ Remover produto (Admin)PUT /api/products/update/<product_id>→ Atualizar produto (Admin)GET /api/products→ Listar todos os produtosGET /api/products/<product_id>→ Detalhes de um produto
POST /api/cart/add/<product_id>→ Adicionar item ao carrinhoDELETE /api/cart/remove/<product_id>→ Remover item do carrinhoGET /api/cart→ Listar itens do carrinhoPOST /api/cart/checkout→ Finalizar compra
📂 API-PYTHON/
├── api.py # Arquivo principal da API
├── db.py # Configuração do banco de dados
├── config.py # Configuração do Flask
├── decorators.py # Decoradores para autenticação
├── Methods.py # Métodos de lógica da API
├── User.py # Modelo de usuário
├── Product.py # Modelo de produto
├── CartIntem.py # Modelo de item do carrinho
├── requirements.txt # Dependências
└── README.md # Documentação
- Implementação de testes automatizados
- Integração com um gateway de pagamento
- Melhorias na segurança da API
Este projeto está sob a licença MIT. Sinta-se à vontade para utilizá-lo e contribuir! 🚀