Skip to content

API REST para gerenciamento de pedidos, clientes e produtos de uma pizzaria. Construída com FastAPI, SQLAlchemy e autenticação com JWT.

Notifications You must be signed in to change notification settings

ArielVinis/Project_FastAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍕 FastAPI - Delivery de Pizzaria

Criei uma API REST para gerenciamento de pedidos, clientes e produtos de uma pizzaria.
Construída com FastAPI, SQLAlchemy e autenticação com JWT.


🚀 Tecnologias Utilizadas

  • FastAPI - Framework web moderno e rápido
  • Uvicorn - Servidor ASGI para rodar a aplicação
  • SQLAlchemy - ORM para manipulação do banco de dados
  • Alembic - Migrations do banco de dados
  • Passlib - Hash de senhas com Bcrypt
  • Python-Jose - Geração/validação de tokens JWT
  • python-dotenv - Carrega variáveis de ambiente a partir de um arquivo .env
  • python-multipart - Suporte ao envio de arquivos via formulários
  • SQLAlchemy-Utils - Utilitários adicionais para o SQLAlchemy
  • Requests - Biblioteca HTTP para fazer requisições externas

🧱 Funcionalidades

  • Cadastro e login de usuários com autenticação JWT
  • Cadastro de produtos (pizzas, bebidas, etc)
  • Gerenciamento de pedidos
  • Relacionamento entre clientes, pedidos e itens

📁 Estrutura de Pastas

Project_FastAPI/
├── app/
│ ├── main.py # Inicialização do FastAPI
│ ├── dependencies # Dependencias para verificar sessão e token
│ ├── models/ # Modelos SQLAlchemy
│ ├── routes/ # Endpoints da API
│ │     └── auth/ # Geração e verificação de tokens JWT
│ │     └── # Demais rotas
│ ├── schemas/ # Pydantic (entrada e saída de dados)
│ ├── tests # Testes automatizados
│ └── banco.db # Conexão e criação do banco
├── .env
├── .gitignore
├── alembic.ini
├── README.md
└── requirements.txt

⚙️ Como executar

  1. Clone o repositório
git clone https://github.com/ArielVinis/Project_FastAPI.git
cd Project_FastAPI
  1. Crie e ative um ambiente virtual
python -m venv venv
source venv/bin/activate  # Linux/macOS
.venv\Scripts\activate    # Windows
  1. Instale as dependências
pip install -r requirements.txt
  1. Configure o .env

Crie um arquivo .env com:

  SECRET_KEY = COLOQUE_SUA_CHAVE_AQUI
  ALGORITHM = HS256
  ACCESS_TOKEN_EXPIRE_MINUTES = 30

Você pode gerar uma chave segura acessando:

🔐 https://secretkeygen.vercel.app/

Copie a chave gerada e substitua o COLOQUE_SUA_CHAVE_AQUI

  1. Execute a aplicação
uvicorn app.main:app --reload
  1. Acesse a documentação

📌 Contribuição

Sinta-se à vontade para contribuir com melhorias, correções ou novas funcionalidades. Para isso, abra um PR ou issue com sua sugestão.


🧑‍💻 Autor

Desenvolvido por Ariel França

About

API REST para gerenciamento de pedidos, clientes e produtos de uma pizzaria. Construída com FastAPI, SQLAlchemy e autenticação com JWT.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published