8000 GitHub - ecopque/store_api_project: Store API Project
[go: up one dir, main page]

Skip to content

ecopque/store_api_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Store API - TDD Project

Este projeto é uma implementação de uma API RESTful para gerenciamento de produtos, desenvolvida utilizando Test-Driven Development (TDD) com FastAPI.

🎯 Objetivo

Demonstrar na prática os conceitos de TDD, desenvolvendo uma API robusta e bem testada para operações CRUD de produtos.

🛠️ Tecnologias Utilizadas

  • FastAPI: Framework web moderno e rápido para construção de APIs
  • MongoDB: Banco de dados NoSQL para persistência
  • Motor: Driver assíncrono para MongoDB
  • Pydantic: Validação de dados e serialização
  • Pytest: Framework de testes
  • Uvicorn: Servidor ASGI para desenvolvimento

📁 Estrutura do Projeto

store_api_project/
├── store/
│   ├── __init__.py
│   ├── schemas/          # Modelos Pydantic para validação
│   ├── usecases/         # Lógica de negócio
│   └── controllers/      # Endpoints da API
├── tests/
│   ├── schemas/          # Testes dos schemas
│   ├── usecases/         # Testes dos casos de uso
│   └── controllers/      # Testes de integração
├── docs/                 # Documentação adicional
├── main.py              # Ponto de entrada da aplicação
└── requirements.txt     # Dependências do projeto

🚀 Funcionalidades

  • ✅ Criação de produtos
  • ✅ Listagem de produtos
  • ✅ Busca de produto por ID
  • ✅ Atualização de produtos
  • ✅ Exclusão de produtos
  • ✅ Filtros por preço
  • ✅ Tratamento de exceções
  • ✅ Validação de dados

🧪 Metodologia TDD

Este projeto segue rigorosamente a metodologia TDD:

  1. Red: Escrever um teste que falha
  2. Green: Implementar o código mínimo para o teste passar
  3. Refactor: Melhorar o código mantendo os testes passando

📋 Como Executar

Pré-requisitos

  • Python 3.11+
  • MongoDB (local ou Docker)

Instalação

# Clone o repositório
git clone <seu-repositorio>
cd store_api_project

# Crie e ative o ambiente virtual
python -m venv venv
source venv/bin/activate  # Linux/Mac
# ou
venv\Scripts\activate     # Windows

# Instale as dependências
pip install -r requirements.txt

Executar a aplicação

uvicorn main:app --reload

Executar os testes

pytest -v

📚 Documentação da API

Após executar a aplicação, acesse:

🔧 Melhorias Implementadas

  • ✅ Tratamento de exceções personalizadas
  • ✅ Validação robusta com Pydantic
  • ✅ Filtros avançados por preço
  • ✅ Timestamps automáticos (created_at, updated_at)
  • ✅ Documentação automática da API
  • ✅ Testes de integração completos

📝 Licença

Este projeto é desenvolvido para fins educacionais.


Desenvolvido com ❤️ utilizando TDD

About

Store API Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0