Esta é uma API baseada em Flask para um sistema de e-commerce. Ela fornece endpoints para autenticação de usuários, gerenciamento de produtos e operações no carrinho de compras.
- Autenticação: Funcionalidade de login e logout usando
Flask-Login
. - Gerenciamento de Produtos: Adicionar, atualizar, deletar e recuperar detalhes de produtos.
- Operações no Carrinho: Adicionar itens ao carrinho, visualizar o conteúdo do carrinho, remover itens e realizar checkout.
- Flask: Framework web minimalista para Python.
- Flask-SQLAlchemy: Extensão para integração com bancos de dados usando SQLAlchemy.
- Flask-Login: Extensão para gerenciamento de autenticação de usuários.
- Flask-Cors: Extensão para habilitar CORS (Cross-Origin Resource Sharing).
- Werkzeug: Biblioteca WSGI para manipulação de requisições e respostas HTTP.
- Python 3.8 ou superior
- SQLite (banco de dados padrão)
-
Clone o repositório:
git clone <repository-url> cd ecommerce-api-py
-
Instale as dependências:
pip install -r requirements.txt
-
Inicialize o banco de dados:
from application import database database.create_all()
-
Inicie o servidor Flask:
python application.py
-
Acesse a API em
http://127.0.0.1:5000
.
- POST /login: Realiza login com nome de usuário e senha.
- POST /logout: Realiza logout do usuário atual.
- GET /api/products: Recupera todos os produtos.
- GET /api/products/{product_id}: Recupera os detalhes de um produto específico.
- POST /api/products/add: Adiciona um novo produto (requer login).
- PUT /api/products/update/{product_id}: Atualiza um produto (requer login).
- DELETE /api/products/delete/{product_id}: Deleta um produto (requer login).
- POST /api/cart/add/{product_id}: Adiciona um produto ao carrinho (requer login).
- DELETE /api/cart/remove/{product_id}: Remove um produto do carrinho (requer login).
- GET /api/cart: Visualiza o conteúdo do carrinho (requer login).
- POST /api/cart/checkout: Realiza o checkout e limpa o carrinho (requer login).
A API está documentada usando Swagger. Consulte o arquivo swagger-doc.x-yaml
para especificações detalhadas da API.
- Certifique-se de inicializar o banco de dados antes de executar a aplicação.
- Use uma ferramenta como Postman ou cURL para testar os endpoints da API.
Este projeto está licenciado sob a Licença MIT.