Este é um sistema de API REST desenvolvido com FastAPI para gerenciar informações de estudantes, incluindo seus dados pessoais e fotos.
- FastAPI (Framework Python para APIs)
- MongoDB (Banco de dados)
- Oracle Cloud Infrastructure (OCI) Object Storage (Armazenamento de fotos)
- Docker (Containerização)
- Python 3.8+
- Python 3.8 ou superior
- MongoDB
- Conta Oracle Cloud com acesso ao Object Storage
- Docker (opcional)
- Clone o repositório:
git clone <url-do-repositorio>
cd <nome-do-diretorio>- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente:
Crie um arquivo
.envcom as seguintes variáveis:
MONGODB_CONNECTION_STRING=mongodb://localhost:27017
ORACLE_BUCKET_NAME=students-photos
ORACLE_NAMESPACE=seu-namespace
- Configure o Oracle Cloud:
- Crie um arquivo
configna raiz do projeto com suas credenciais OCI - Certifique-se de que o bucket especificado existe no seu Object Storage
uvicorn main:app --reloaddocker build -t student-api .
docker run -p 8000:8000 student-apiCria um novo estudante
- Parâmetros:
- name (string): Nome do estudante
- grade (float): Nota do estudante
- photo (arquivo): Foto do estudante
Lista todos os estudantes cadastrados
Retorna os dados de um estudante específico
Atualiza os dados de um estudante
- Corpo da requisição: Dados do estudante (JSON)
Remove um estudante do sistema
.
├── main.py # Arquivo principal com endpoints da API
├── models/
│ └── student.py # Modelo de dados do estudante
├── .env # Variáveis de ambiente
├── Dockerfile # Configuração do Docker
└── README.md # Documentação
A documentação interativa da API está disponível em:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Certifique-se de que o MongoDB está rodando antes de iniciar a aplicação