Skip to content

romuloroc/udemy_google_antigravity

Repository files navigation

Projeto Antigravity: FastAPI + D1 + Redis

Aplicação web completa para gestão de dashboards financeiros com autenticação, rate limit via Redis e persistência em Cloudflare D1.

Pré-requisitos

  • Docker e Docker Compose instalados.
  • Python 3.11+ (para rodar localmente sem Docker).
  • Conta na Cloudflare (D1) e na Financial Modeling Prep (FMP).

Configuração

  1. Copie o arquivo de exemplo:
    cp .env.example .env
  2. Preencha o .env com suas credenciais do Cloudflare D1 e FMP.

Executando com Docker (Recomendado)

Suba a aplicação e o Redis:

docker-compose up --build

Acesse em: http://localhost:8000

Executando Localmente

  1. Crie um ambiente virtual e instale dependências:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # ou venv\Scripts\activate no Windows
    pip install -r requirements.txt
  2. Tenha um Redis rodando localmente (ou altere REDIS_URL no .env).

  3. Inicie a aplicação:

    uvicorn app.main:app --reload

    Ou usando Python diretamente:

    python app/main.py

Funcionalidades

Autenticação

  • Registro: Cria usuário pendente de aprovação.
  • Login: Token JWT em cookie HttpOnly + Rate Limit (5 tentativas/15min).
  • Logout: Limpa o cookie.

Admin (/admin)

  • Login com credenciais definidas no .env (Padrão: admin@admin.com / admin123).
  • Aprovar usuários recém-cadastrados.

Usuário (/dashboard)

  • Acesso restrito a usuários aprovados.
  • Visualização de gráficos de ativos (Ações, Forex, Crypto).
  • Dados obtidos da API externa (FMP) e cacheados no D1 (1 atualização/dia).

Estrutura de Arquivos

/app
  /main.py       # Ponto de entrada
  /d1_client.py  # Cliente HTTP D1
  /rate_limit.py # Lógica Redis
  /routers       # Admin, Auth, Dashboard
  /repositories  # Camada de acesso a dados
  /services      # Lógica de negócio
  /templates     # HTML Jinja2
  /static        # CSS/JS
Dockerfile
docker-compose.yml

About

Curso Google Antigravity ministrado pelo Profº Ciro Alves Justino Nunes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors