Este projeto foi desenvolvido durante a Imersão Cloud & DevOps, promovida pela Alura em parceria com o Google Cloud. A aplicação é uma API em Python com FastAPI para gerenciar alunos, cursos e matrículas.
- Cadastro de alunos
- Cadastro de cursos
- Matrícula de alunos em cursos
- Documentação interativa com Swagger UI
A API está publicada no Google Cloud Run e pode ser testada diretamente no navegador:
Documentação Interativa (Swagger UI)
- Python 3.10+
- FastAPI
- Docker e Docker Compose
- GitLab CI/CD
- Google Cloud Run
- SQLite (banco de dados local)
- Gemini Code Assist (para apoio com IA)
-
Faça o download do repositório: Clique aqui para realizar o download
-
Crie um ambiente virtual:
python3 -m venv ./venv
-
Ative o ambiente virtual:
- No Linux/Mac:
source venv/bin/activate - No Windows, abra um terminal no modo administrador e execute o comando:
Set-ExecutionPolicy RemoteSigned
venv\Scripts\activate
- No Linux/Mac:
-
Instale as dependências:
pip install -r requirements.txt
-
Execute a aplicação:
uvicorn app:app --reload
-
Acesse a documentação interativa:
Abra o navegador e acesse:
http://127.0.0.1:8000/docsAqui você pode testar todos os endpoints da API de forma interativa.
app.py: Arquivo principal da aplicação FastAPI.models.py: Modelos do banco de dados (SQLAlchemy).schemas.py: Schemas de validação (Pydantic).database.py: Configuração do banco de dados SQLite.routers/: Diretório com os arquivos de rotas (alunos, cursos, matrículas).requirements.txt: Lista de dependências do projeto.Dockerfile: Imagem da aplicação.
- O banco de dados SQLite será criado automaticamente como
escola.dbna primeira execução. - Para reiniciar o banco, basta apagar o arquivo
escola.db(isso apagará todos os dados).
- Criar e rodar contêineres com Docker
- Resolver o “na minha máquina funciona” com ambiente isolado
- Implementar CI/CD com GitLab
- Automatizar build, testes e deploy
- Fazer deploy real com Google Cloud Run
- Usar IA (Gemini Code Assist) para apoio no desenvolvimento
✨ Feito com dedicação por Amanda Leão durante a Imersão Cloud & DevOps – uma jornada de aprendizado sobre Docker, CI/CD, deploy na nuvem e o poder da automação no desenvolvimento.