Skip to content

vitordsbarros/inventory-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

API de Controle de Estoque

Projeto desenvolvido com Python + FastAPI + SQLite + SQLAlchemy, com o objetivo de criar uma API simples, organizada e funcional para gerenciamento de produtos em estoque.

Esta API permite realizar operações básicas de CRUD:

  • Criar produtos
  • Listar produtos
  • Buscar produto por ID
  • Remover produtos

Tecnologias Utilizadas

  • Python 3
  • FastAPI
  • Uvicorn
  • SQLAlchemy
  • SQLite
  • Pydantic

Estrutura do Projeto

controle-estoque-api/
│
├── app/
│   ├── main.py
│   ├── database.py
│   │
│   ├── models/
│   │   └── product_model.py
│   │
│   ├── schemas/
│   │   └── product_schema.py
│   │
│   ├── routes/
│   │   └── product_route.py
│   │
│   └── crud/
│       └── product_crud.py
│
├── requirements.txt
├── .gitignore
└── README.md

Como Executar o Projeto

1. Clonar o repositório

git clone <url-do-repositorio>
cd controle-estoque-api

2. Criar o ambiente virtual

Windows (PowerShell)

python -m venv .venv

3. Ativar o ambiente virtual

Windows (PowerShell)

.\.venv\Scripts\Activate

4. Instalar as dependências

pip install -r requirements.txt

Caso necessário:

pip install fastapi uvicorn sqlalchemy pydantic

5. Executar a aplicação

uvicorn app.main:app --reload

Se tudo estiver correto, você verá:

Uvicorn running on http://127.0.0.1:8000

Documentação Interativa (Swagger)

Após iniciar o projeto, acesse:

http://127.0.0.1:8000/docs

Lá você poderá testar toda a API diretamente pelo navegador.


Endpoints Disponíveis

Criar Produto

POST /products/

Exemplo de body

{
  "name": "Notebook Lenovo",
  "description": "Notebook i5 12ª geração",
  "quantity": 10,
  "price": 3500.00
}

Listar Todos os Produtos

GET /products/

Buscar Produto por ID

GET /products/{product_id}

Remover Produto

DELETE /products/{product_id}

Banco de Dados

O projeto utiliza SQLite, gerando automaticamente o arquivo:

estoque.db

Isso facilita bastante o desenvolvimento local sem necessidade de instalar PostgreSQL ou MySQL inicialmente.


Melhorias Futuras

Próximas evoluções recomendadas:

  • Atualizar produto (PUT / PATCH)
  • Controle de entrada e saída de estoque
  • Autenticação com JWT
  • Cadastro de usuários
  • Níveis de permissão
  • PostgreSQL
  • Docker
  • Deploy em produção
  • Logs e monitoramento

Objetivo do Projeto

Este projeto foi criado com foco em:

  • aprendizado de backend
  • organização profissional de APIs
  • construção de portfólio
  • preparação para projetos reais de mercado

Autor

Desenvolvido por Vitor S. Barros como projeto de estudo e evolução profissional em backend com Python.

About

API de gerenciamento de estoque construída com Python e FastAPI, focada em escalabilidade e boas práticas de backend. Inclui controle de produtos, movimentações de entrada e saída.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages