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.
- 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.
-
Clone o repositório:
https://github.com/esscova/api-users-articles.git cd api-users-articles
-
Instale as dependências:
pip install -r requirements.txt
-
Execute o script para criar as tabelas no banco de dados:
python criar_tabelas.py
-
Inicie o servidor FastAPI:
python main.py
-
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
- Documentação Swagger:
- 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.