Assistente inteligente de estudos baseado em LLM (Gemini 2.0), containerizado com Docker e orquestrado via Pipeline CI/CD.
O IsCoolGPT é uma aplicação Fullstack desenvolvida como projeto final da disciplina de Cloud Computing. O sistema atua como um tutor virtual para estudantes, utilizando a API Google Gemini 2.0 Flash para processar linguagem natural com alta velocidade e baixo custo.
A arquitetura foi projetada seguindo os princípios do The Twelve-Factor App, focando em portabilidade (Docker), paridade entre desenvolvimento/produção e automação total de deploy.
🔗 Link do Projeto (Deploy): https://cloud-iscoolgpt.onrender.com
Para atender aos requisitos de alta disponibilidade e escalabilidade, optou-se por uma arquitetura PaaS (Platform as a Service).
graph LR
User[Estudante 🧑🎓] -- HTTPS --> RenderLB[Render Load Balancer 🌐]
RenderLB --> Docker[Docker Container 🐳]
subgraph "Aplicação (FastAPI)"
Front[Frontend HTML/JS]
Back[Backend Python]
end
Docker --> Back
Docker --> Front
Back -- API Key --> Gemini[Google Gemini API 🧠]
Back -- Log --> Monitor[Logs & Health Check 📊]
Embora a AWS (ECS/ECR) seja um padrão de indústria, para este projeto adotou-se o Render baseando-se em princípios de FinOps (Gestão Financeira em Nuvem) e eficiência operacional:
- Otimização de Custos (Cost Avoidance): Uma arquitetura AWS com Load Balancer (ALB), NAT Gateway e Cluster ECS Fargate geraria custos fixos estimados em ~$40/mês, inviabilizando o projeto para fins acadêmicos. O Render oferece containerização gerenciada com custo zero no tier gratuito, cumprindo o requisito funcional sem desperdício financeiro.
- Redução de Complexidade Operacional: O Render abstrai a complexidade de gerenciamento de VPCs, Security Groups e Clusters Kubernetes, permitindo que o foco do desenvolvimento permaneça na qualidade do código e na lógica da IA.
- Entrega Contínua Nativa (CD): A integração direta "Git-to-Deploy" do Render atende ao requisito de "Automação Inteligente" de forma nativa, eliminando a sobrecarga de configuração manual de pipelines complexas como AWS CodePipeline para este escopo.
- Frontend: HTML5, CSS3 (Glassmorphism UI), JavaScript Vanilla (Fetch API).
- Backend: Python 3.11 com FastAPI (Framework assíncrono de alta performance).
- IA: Integração com Google Gemini 2.0 Flash via SDK
google-generativeai. - Containerização: Docker (Imagem base
python:3.11-slimotimizada). - Testes: Pytest (Unitários) e Httpx.
- CI (Continuous Integration): GitHub Actions.
- CD (Continuous Delivery): Render (Deploy automático via branch
production).
- Docker instalado.
- Git instalado.
- Chave de API do Google Gemini (Google AI Studio).
-
Clone o repositório:
git clone https://github.com/flavio-muniz/Cloud-IsCoolGPT cd Cloud-IsCoolGPT -
Configure a Variável de Ambiente: Linux/Mac/Git Bash:
export GEMINI_API_KEY="SUA_CHAVE_AQUI"
Windows Powershell:
$env:GEMINI_API_KEY="SUA_CHAVE_AQUI"
-
Build e Execução com Docker:
# Constrói a imagem Docker docker build -t iscoolgpt . # Roda o container na porta 80 docker run -p 80:80 -e GEMINI_API_KEY=$GEMINI_API_KEY iscoolgpt
-
Acesse: Abra o navegador em
http://localhost.
O projeto implementa um ciclo de vida de software moderno e automatizado:
- Desenvolvimento: O código é desenvolvido e enviado para a branch
main. - Integração Contínua (CI):
- A cada
pushnamain, o workflow do GitHub Actions (ci.yml) é acionado. - Ele instala as dependências e executa a bateria de testes automatizados com
pytest. - Quality Gate: Se os testes falharem, o pipeline quebra, impedindo o avanço de código defeituoso.
- A cada
- Entrega Contínua (CD):
- Após a aprovação nos testes, o código é mesclado (merge) para a branch
production. - O Render monitora essa branch e inicia automaticamente o build do container Docker.
- O deploy é realizado com Zero Downtime, garantindo que a versão antiga continue rodando até a nova estar pronta.
- Após a aprovação nos testes, o código é mesclado (merge) para a branch
Os testes automatizados garantem a integridade da API e a resiliência do sistema:
- Mocking de IA: Utilizamos
unittest.mockpara simular as respostas do Google Gemini. Isso permite testar a lógica do backend sem gastar cota da API e sem depender de conexão externa durante os testes. - Health Check: Verificação automática da rota
/healthpara garantir que o container está saudável.
Comando para rodar testes manuais:
pip install -r requirements.txt
python -m pytestEsta seção comprova o funcionamento da arquitetura de DevOps e da aplicação em nuvem.
Evidência de testes automatizados rodando com sucesso a cada push.
Status do último workflow: Sucesso (Passing)
Aplicação rodando em ambiente de nuvem pública, acessível via HTTPS.
Ambiente de Produção: Live
Deploy automático após subir para produção
Registro de atividades e requisições em tempo real via dashboard do Render.
Logs comprovando o recebimento de requisições e status 200 OK.
Flávio
- 🎓 Graduando em Ciência da Computação
- 🔬 Pesquisador em Sistemas Embarcados e IoT
- ☁️ Entusiasta de Cloud Computing & DevOps
Este projeto foi desenvolvido para fins acadêmicos. Sinta-se livre para usar como referência.



