Uma API RESTful moderna e eficiente para gerenciamento de estoques, construída com FastAPI e SQLAlchemy.
O StockManagerApi é uma solução de código aberto projetada para simplificar o gerenciamento de estoques. Ele oferece uma interface de API intuitiva que permite:
- Gerenciar categorias: Organize produtos em categorias personalizadas.
- Controlar produtos: Adicione, edite e consulte produtos com informações detalhadas.
- Monitorar estoques: Registre entradas e saídas para manter o inventário atualizado.
- Gerar relatórios: Visualize o status do estoque em tempo real.
- API RESTful: Endpoints bem definidos para CRUD (criação, leitura, atualização e exclusão).
- Validação de dados: Uso de Pydantic para garantir entradas consistentes.
- Documentação interativa: Disponível via Swagger UI.
- Docker: Utilizado para conteinerização e facilitar a execução da aplicação em qualquer ambiente.
- Banco de dados leve: Utiliza SQLite para configuração simples, com suporte a outros bancos via SQLAlchemy.
- Escalabilidade: Arquitetura modular para facilitar expansões futuras.
FastAPI: Framework de alta performance para APIs.
SQLAlchemy: ORM robusto para banco de dados.
SQLite: Banco leve e embarcado.
Pydantic: Validação e serialização de dados.
Uvicorn: Servidor ASGI para execução da API.
Docker: Padronização e deploy facilitado da aplicação.
A organização do código é clara e modular:
StockManagerApi/
├── controller/ # Lógica de negócios e acesso ao banco
│ └── controller.py
├── database/ # Configuração e conexão com o banco
│ └── database.py
├── models/ # Definições dos modelos de dados
│ └── models.py
├── routes/ # Rotas da API (endpoints)
│ ├── categories.py
│ ├── products.py
│ └── stockMovement.py
├── schemas/ # Esquemas para validação de entrada/saída
│ └── schemas.py
├── main.py
├── DockerFile
├── docker-compose.yml
└── requirements.txt # Lista de dependências