https://github.com/esscova/api-users-articles
API utilizando FastAPI para gerenciamento de artigos e usuários, com autenticação e segurança integradas.
https://github.com/esscova/api-users-articles
fastapi jose-jwt python sqlalchemy
Last synced: 2 months ago
JSON representation
API utilizando FastAPI para gerenciamento de artigos e usuários, com autenticação e segurança integradas.
- Host: GitHub
- URL: https://github.com/esscova/api-users-articles
- Owner: esscova
- Created: 2025-03-15T21:04:03.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-15T21:05:55.000Z (7 months ago)
- Last Synced: 2025-03-15T22:19:10.374Z (7 months ago)
- Topics: fastapi, jose-jwt, python, sqlalchemy
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FastAPI com SQLAlchemy, SQLite assíncrono e Autenticação JWT
## Descrição
Este projeto implementa uma API utilizando **FastAPI** para gerenciamento de artigos e usuários. O sistema permite operações de CRUD para os modelos de `artigo` e `usuario`, com autenticação e segurança integradas.## Estrutura do Projeto
- **main.py**: Arquivo principal que inicia o servidor FastAPI.
- **criar_tabelas.py**: Script para criação das tabelas no banco de dados.
- **api/v1/**:
- **api.py**: Arquivo que organiza as rotas da versão 1 da API.
- **endpoints/**:
- **artigo.py**: Endpoints relacionados ao gerenciamento de artigos.
- **usuario.py**: Endpoints relacionados ao gerenciamento de usuários.
- **core/**:
- **configs.py**: Configurações gerais do projeto.
- **database.py**: Configuração e conexão com o banco de dados.
- **deps.py**: Dependências utilizadas nos endpoints.
- **security.py**: Implementação de segurança e autenticação.
- **auth.py**: Funções relacionadas à autenticação de usuários.
- **models/**:
- **artigo_model.py**: Definição do modelo de dados para artigos.
- **usuario_model.py**: Definição do modelo de dados para usuários.
- **__all_models.py**: Importa e registra todos os modelos.
- **schemas/**:
- **artigo_schema.py**: Esquema de validação de dados para artigos.
- **usuario_schema.py**: Esquema de validação de dados para usuários.## Como executar o projeto
1. Clone o repositório:
```bash
https://github.com/esscova/api-users-articles.git
cd api-users-articles
```2. Instale as dependências:
```bash
pip install -r requirements.txt
```3. Execute o script para criar as tabelas no banco de dados:
```bash
python criar_tabelas.py
```4. Inicie o servidor FastAPI:
```bash
python main.py
```5. Acesse a documentação da API:
- Documentação Swagger: `http://127.0.0.1:8000/docs`
- Documentação Redoc: `http://127.0.0.1:8000/redoc`## Funcionalidades
- Gerenciamento de artigos (criação, leitura, atualização e exclusão).
- Gerenciamento de usuários (criação, leitura, atualização e exclusão).
- Autenticação JWT para proteger rotas.