Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fkouto/ecommerce-flask
https://github.com/fkouto/ecommerce-flask
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fkouto/ecommerce-flask
- Owner: FKouto
- Created: 2024-09-16T01:48:03.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-16T17:10:35.000Z (4 months ago)
- Last Synced: 2024-09-17T03:26:06.880Z (4 months ago)
- Language: Python
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# E-commerce API Flask
Este projeto é uma aplicação de e-commerce desenvolvida com Flask, fornecida como parte do Mini Curso de Python oferecido pela Rockeseat. O objetivo do projeto é criar um backend básico para uma loja online, com funcionalidades para gerenciamento de produtos e carrinho de compras, bem como autenticação de usuários.## Funcionalidades
- **Autenticação de Usuário**: Permite login e logout de usuários com proteção de rotas.
- **Gerenciamento de Produtos**: Adiciona, exclui, atualiza e obtém detalhes dos produtos.
- **Carrinho de Compras**: Adiciona e remove itens do carrinho, visualiza itens do carrinho e realiza o checkout.## Tecnologias Utilizadas
- **Flask**: Framework web para criação da aplicação.
- **Flask-SQLAlchemy**: ORM para gerenciamento do banco de dados.
- **Flask-CORS**: Permite o acesso a recursos de diferentes hosts.
- **Flask-Login**: Gerencia a autenticação e sessões de usuários.## Configuração do Ambiente
1. **Clone o repositório**
```bash
git clone https://github.com/FKouto/Ecommerce-Flask.git
cd Ecommerce-Flask
```2. **Instale as dependências**
É recomendável usar um ambiente virtual. Primeiro, crie e ative um ambiente virtual:
```bash
python -m venv ecomapienv
source ecomapienv/bin/activate # No Windows use: ecomapienv\Scripts\activate
```Em seguida, instale as dependências:
```bash
pip install -r requirements.txt
```3. **Configuração do Banco de Dados**
O projeto utiliza SQLite para armazenamento de dados. O banco de dados será criado automaticamente ao iniciar a aplicação pela primeira vez.
* Para visualizar o Banco de Dados instale a extensão SQLite Viewer
4. **Executar a Aplicação**
Para iniciar a aplicação, use o seguinte comando:
```bash
python app.py
```A aplicação será executada no modo de desenvolvimento (`debug=True`), e você pode acessá-la em `http://127.0.0.1:5000` utlizando o swagger no postman.
## Endpoints
- **Autenticação**
- `POST /login`: Faz login de um usuário.
- `POST /logout`: Faz logout do usuário atual.- **Gerenciamento de Produtos** (Protegido)
- `POST /api/products/add`: Adiciona um novo produto.
- `DELETE /api/products/delete/`: Remove um produto existente.
- `GET /api/products/`: Obtém detalhes de um produto pelo ID.
- `PUT /api/products/update/`: Atualiza um produto existente.
- `GET /api/products`: Lista todos os produtos.- **Carrinho de Compras** (Protegido)
- `POST /api/cart/add/`: Adiciona um item ao carrinho.
- `DELETE /api/cart/remove/`: Remove um item do carrinho.
- `GET /api/cart`: Lista todos os itens no carrinho.
- `POST /api/cart/checkout`: Realiza o checkout e limpa o carrinho.## Licença
Este projeto está licenciado sob a MIT License. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.