Erik Silva 58df03d597 docs: Update roadmap and progress - Session 1 completed
- Completed Passo 1.1 (Setup) - 100%
- Completed Passo 1.2 (Auth Module) - 100%
- Updated ROADMAP_EXECUCAO.md with detailed tasks
- Updated PROGRESSO.md with current status
- Marked Passo 1.3 (Tasks Module) as next priority
- Added versioning strategy (v0.1.0 initial release)
- Phase 1 is now 50% complete (2 of 6 passos)
2025-12-01 01:21:58 -03:00

📱 TASK MANAGER - Aplicação Multi-Plataforma

Uma aplicação fullstack moderna de gerenciamento de tarefas com sincronização em tempo real, desenvolvida com NestJS, Next.js, Flutter e Supabase.

🎯 Objetivo

Criar uma aplicação multi-plataforma sincronizada em tempo real para estudar desenvolvimento fullstack moderno com TypeScript.

🛠️ Stack Tecnológica

Backend

  • NestJS 11 - Framework Node.js com TypeScript
  • Supabase - PostgreSQL + Auth + Realtime
  • TypeScript 5.7
  • Docker - Containerização

Frontend Web

  • Next.js 16 - React com App Router
  • TailwindCSS 4 - Utility-first CSS
  • TypeScript 5
  • Supabase Client

Mobile

  • Flutter - Framework multi-plataforma (Android/iOS)
  • Dart - Linguagem do Flutter
  • Provider - State management
  • Supabase Flutter SDK

📋 Funcionalidades (MVP)

Autenticação

  • Estrutura de autenticação
  • Cadastro de usuário (email + senha)
  • Login
  • Logout
  • Recuperação de senha
  • Sessão persistente

Gerenciamento de Tarefas

  • Criar tarefa
  • Listar tarefas do usuário
  • Marcar como concluída/pendente
  • Editar tarefa
  • Deletar tarefa
  • Filtrar (Todas/Ativas/Concluídas)

Sincronização em Tempo Real

  • Supabase Realtime (WebSockets)
  • Sincronização web ↔ mobile
  • Atualização automática em múltiplos dispositivos

📁 Estrutura do Projeto

to-do-list/
├── backend-api/          # NestJS API
│   ├── src/
│   │   ├── auth/        # Módulo de autenticação
│   │   ├── tasks/       # Módulo de tarefas
│   │   ├── config/      # Configurações
│   │   ├── common/      # Utilitários comuns
│   │   └── main.ts
│   ├── .env.example
│   └── package.json
│
├── frontend-next/        # Next.js Web
│   ├── src/
│   │   ├── app/         # App Router pages
│   │   ├── components/  # Componentes reutilizáveis
│   │   ├── lib/         # Utilitários
│   │   └── styles/      # Estilos globais
│   ├── .env.example
│   └── package.json
│
├── mobile/              # Flutter (TODO)
│   ├── lib/
│   ├── pubspec.yaml
│   └── .env.example
│
├── docs/                # Documentação
│   ├── instrucoes-gerais.md
│   └── instrucoes-design.md
│
├── ROADMAP_EXECUCAO.md  # Roadmap detalhado
├── .gitignore
└── README.md            # Este arquivo

🚀 Começando

Pré-requisitos

  • Node.js 20+
  • npm ou yarn
  • Conta Supabase ativa
  • Flutter SDK (para mobile)

Setup Backend

cd backend-api
npm install
cp .env.example .env
# Preencha as variáveis de ambiente
npm run start:dev

Backend rodará em: http://localhost:3000/api

Setup Frontend Web

cd frontend-next
npm install
cp .env.example .env.local
# Preencha as variáveis de ambiente
npm run dev

Frontend rodará em: http://localhost:3000

Setup Mobile (Em Breve)

cd mobile
flutter pub get
# Configurar .env
flutter run

📖 Documentação

Veja os arquivos de documentação:

🔐 Variáveis de Ambiente

Backend (.env)

SUPABASE_URL=https://supabase.stackbackup.cloud
SUPABASE_ANON_KEY=your_key
SUPABASE_SERVICE_KEY=your_key
JWT_SECRET=your_secret_min_32_chars
JWT_EXPIRATION=7d
NODE_ENV=development
PORT=3000
CORS_ORIGIN=http://localhost:3000

Frontend (.env.local)

NEXT_PUBLIC_SUPABASE_URL=https://supabase.stackbackup.cloud
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_key

📊 Progresso

Fase 1: Backend       [████████░░] 45%
  ✅ Setup & Config
  ✅ Módulo Auth
  ⏳ Módulo Tasks
  ⏳ RLS & Docs

Fase 2: Frontend      [██░░░░░░░░] 5%
  ⏳ Setup & Config
  ⏳ Componentes
  ⏳ Autenticação
  ⏳ Tarefas

Fase 3: Mobile        [░░░░░░░░░░] 0%
  ⏳ Projeto Flutter
  ⏳ Auth
  ⏳ Telas

Fase 4: DevOps        [░░░░░░░░░░] 0%
  ⏳ Docker
  ⏳ Deploy

🔗 Referências

📝 API Endpoints

Auth

  • POST /api/auth/signup - Registrar usuário
  • POST /api/auth/login - Fazer login
  • POST /api/auth/logout - Fazer logout
  • GET /api/auth/me - Perfil atual
  • POST /api/auth/forgot-password - Recuperar senha

Tasks (Em desenvolvimento)

  • GET /api/tasks - Listar tarefas
  • POST /api/tasks - Criar tarefa
  • PATCH /api/tasks/:id - Atualizar tarefa
  • DELETE /api/tasks/:id - Deletar tarefa

🤝 Contribuindo

Este é um projeto de aprendizado. Sinta-se livre para abrir issues e PRs.

📄 Licença

MIT


Desenvolvido com ❤️ como projeto de aprendizado fullstack

Description
No description provided
Readme 377 KiB
Languages
TypeScript 85.3%
PLpgSQL 9.4%
Dockerfile 2.9%
JavaScript 1.8%
CSS 0.6%