Pular para conteúdo

Stack Tecnica

Backend

Tecnologia Versao Uso
Python 3.12 Runtime
FastAPI latest Framework HTTP
SQLAlchemy 2.0 ORM (async, Mapped API)
asyncpg latest Driver PostgreSQL async
Alembic latest Migrations
Pydantic v2 Validacao e schemas
Celery latest Tasks async (WhatsApp, notificacoes)
Redis 7 Cache + broker Celery
PostgreSQL 16 Banco principal
httpx latest HTTP client (integracoes)
structlog latest Logging estruturado
slowapi latest Rate limiting
python-jose latest JWT auth
bcrypt latest Password hashing

Frontend

Tecnologia Versao Uso
Next.js 16 Framework React SSR
React 19 UI library
TypeScript 5 Type safety
Ant Design 5 Component library
Recharts latest Graficos (area chart)
Tailwind CSS 4 Utility CSS
Axios latest HTTP client
dayjs latest Datas

Infraestrutura

Componente Detalhe
VPS Debian 13, 32GB RAM, 394GB disk
Reverse proxy Traefik 3 (Docker provider)
TLS Let's Encrypt (HTTP challenge)
Containers Docker Compose
Git Gitea (git.gmowses.cloud)
DNS Cloudflare
Landing Cloudflare Pages

Arquitetura

                   Cloudflare DNS
                        |
                   Traefik (:80/:443)
                   /              \
    byclinic.digitalface.dev.br   api.byclinic.digitalface.dev.br
              |                              |
        Next.js (SSR)                   FastAPI
              |                         /      \
              +--- axios -------> uvicorn    Celery worker
                                    |              |
                               PostgreSQL      Redis

Paleta de cores (CloudFace)

Token Hex Uso
Primary #00acf1 Botoes, links, active
Primary dark #036bc9 Hover, gradients
Accent cyan #00c2ff Highlights
Success #10b981 Status positivo
Error #ef4444 Erros, despesas
Warning #f59e0b Alertas