FamilyMeet/
├── src/
│ ├── api/ # API Backend (.NET 8)
│ │ ├── FamilyMeet.HttpApi/
│ │ ├── FamilyMeet.Application/
│ │ ├── FamilyMeet.Domain/
│ │ ├── FamilyMeet.Domain.Shared/
│ │ └── FamilyMeet.EntityFrameworkCore/
│ ├── clientWeb/ # Frontend Chat Simples (Angular)
│ └── adminWeb/ # Frontend Admin (ABP Angular)
│ ├── angular/ # Frontend admin
│ └── aspnet-core/ # Backend admin
├── .github/workflows/ # GitHub Actions
├── docker-compose.yml # Containers
└── README.md
- Angular 18+ com standalone components
- TypeScript para tipagem forte
- SCSS para estilização moderna
- RxJS para programação reativa
- WebSocket para comunicação em tempo real
clientWeb/
├── src/app/
│ ├── components/
│ │ ├── login/ # Tela de login
│ │ │ ├── login.component.ts
│ │ │ ├── login.component.html
│ │ │ └── login.component.scss
│ │ └── chat/ # Tela principal de chat
│ │ ├── chat.component.ts
│ │ ├── chat.component.html
│ │ └── chat.component.scss
│ ├── services/
│ │ ├── auth.service.ts # Serviço de autenticação
│ │ └── chat.service.ts # Serviço de chat/WebSocket
│ ├── guards/
│ │ └── auth.guard.ts # Guard de rota
│ ├── app.routes.ts # Rotas da aplicação
│ └── app.ts # Componente raiz
├── package.json
└── angular.json
- ✅ Login com email e senha
- ✅ Login com Google OAuth
- ✅ Lista de grupos de chat
- ✅ Mensagens em tempo real
- ✅ Criação de novos grupos
- ✅ Interface responsiva (WhatsApp-like)
- ✅ Indicadores de status online
- 🚧 Videochamada (em desenvolvimento)
- 🚧 Compartilhamento de arquivos
- 🚧 Notificações push
- ABP Framework 10.2.0 com LeptonX Theme
- Angular 18+ com componentes ABP
- Entity Framework Core para dados
- PostgreSQL como banco principal
- SignalR para tempo real
- Swagger/OpenAPI para documentação
adminWeb/
├── angular/ # Frontend Angular
│ ├── src/
│ │ ├── app/
│ │ │ ├── modules/
│ │ │ │ ├── identity/ # Gestão de usuários
│ │ │ │ ├── tenant-management/ # Multi-tenant
│ │ │ │ ├── setting-management/ # Configurações
│ │ │ │ └── account/ # Conta do usuário
│ │ │ └── shared/ # Componentes compartilhados
│ │ └── assets/
│ └── package.json
└── aspnet-core/ # Backend API
├── src/
│ ├── FamilyMeet.Admin.HttpApi/
│ ├── FamilyMeet.Admin.Application/
│ ├── FamilyMeet.Admin.Domain/
│ └── FamilyMeet.Admin.EntityFrameworkCore/
└── FamilyMeet.Admin.sln
- ✅ Identity Management: Usuários, papéis, permissões
- ✅ Tenant Management: Multi-tenancy
- ✅ Setting Management: Configurações do sistema
- ✅ Account Management: Perfil, senha, 2FA
- ✅ Audit Logging: Logs de auditoria
- ✅ Permission System: RBAC granular
- ✅ Feature Management: Features flags
- ✅ Localization: Multi-idiomas
- ✅ Background Jobs: Tarefas agendadas
- ✅ Swagger UI: Documentação interativa
api/
├── FamilyMeet.HttpApi/ # Controllers e endpoints
├── FamilyMeet.Application/ # Services e lógica de negócio
├── FamilyMeet.Domain/ # Entidades e regras de domínio
├── FamilyMeet.Domain.Shared/ # Enums, constantes, Value Objects
└── FamilyMeet.EntityFrameworkCore/ # Mapeamento ORM e migrations
- ✅ Autenticação JWT: Login, refresh, Google OAuth
- ✅ Videochamada WebRTC: Sinais, salas, gravação
- ✅ SignalR Hub: Comunicação em tempo real
- ✅ Gestão de Grupos: CRUD de grupos de chat
- ✅ Sistema de Mensagens: Envio, edição, exclusão
- ✅ Cache Redis: Performance e escalabilidade
- ✅ Logging Estruturado: Diferentes níveis de log
- ✅ Validação de Dados: Input validation e sanitização
- ✅ Tratamento de Erros: Global exception handling
- ✅ Documentação Swagger: Auto-documentação da API
- pr-review-by-openhands.yml: Review automático de PRs
- pr-review-evaluation.yml: Avaliação da qualidade do review
- vulnerability-remediation-gemini.yml: Scan e correção de vulnerabilidades
- assign-reviews-gemini.yml: Atribuição inteligente de revisores
- ci-build-test.yml: Build e testes automatizados
- auto-pr-from-main.yml: Criação automática de PRs
- Modelo AI: Gemini 2.0 Flash (rápido e eficiente)
- Secrets Necessários:
GEMINI_API_KEY: Chave da API Google GeminiALLHANDS_BOT_GITHUB_PAT: Token do bot GitHub
- Recursos: Análise de código, segurança, performance
- Automação: Reviews, atribuições, correções
- Container: PostgreSQL 15
- Connection String: Configurada em docker-compose
- Migrations: Entity Framework Core automáticas
- Seed Data: Dados iniciais para desenvolvimento
- Propósito: Cache de sessões, mensagens, dados frequentes
- TTL: Configurações diferentes por tipo de dado
- Cluster: Suporte para Redis Cluster em produção
services:
api:
build: ./src/api
ports: ["5000:5000"]
environment:
- ConnectionStrings__DefaultConnection=...
- Redis__Configuration=...
client-web:
build: ./src/clientWeb
ports: ["4200:4200"]
depends_on: [api]
admin-web:
build: ./src/adminWeb/angular
ports: ["4201:4200"]
depends_on: [api]
postgres:
image: postgres:15
environment:
POSTGRES_DB: FamilyChat_db
redis:
image: redis:7-alpine- Desenvolvimento: Docker Compose local
- Homologação: Docker em staging environment
- Produção:
- Frontend: Vercel/Netlify (static)
- API: Azure App Service/Heroku
- Banco: Azure PostgreSQL/Heroku Postgres
- Cache: Redis Cloud
- Ionic Framework ou React Native
- Mesmas APIs do backend existente
- Autenticação Compartilhada: JWT tokens
- Sincronização: Tempo real com SignalR
- Notificações: Firebase Cloud Messaging
- 🚧 Chat em tempo real
- 🚧 Videochamada
- 🚧 Notificações push
- 🚧 Modo offline
- 🚧 Sincronização de contatos
- 🚧 Compartilhamento de mídia
- JWT Tokens: Com refresh automático
- Google OAuth 2.0: Integração completa
- Password Hashing: BCrypt com salt
- 2FA Support: TOTP e SMS (planejado)
- Session Management: Redis store com TTL
- RBAC: Role-Based Access Control
- Resource-based: Permissões granulares
- API Rate Limiting: Prevenção de abuso
- CORS Configurado: Domínios específicos
- Input Validation: Sanitização e validação
- PII Protection: Dados pessoais criptografados
- Audit Trail: Logs completos de ações
- Data Encryption: TLS 1.3 em transmissão
- Backup Strategy: Backups automáticos diários
Logs/
├── Application Logs # Lógica de negócio
├── Security Logs # Autenticação, autorização
├── Performance Logs # Tempo de resposta, erros
├── Audit Logs # Ações dos usuários
└── System Logs # Infraestrutura
- Application Performance: Tempo de resposta, throughput
- User Analytics: Usuários ativos, mensagens enviadas
- System Health: CPU, memória, disco
- Business Metrics: Grupos criados, chamadas realizadas
- Error Rates: Taxa de erros por endpoint
- Code Quality: ESLint, SonarQube
- Unit Tests: Jest/xUnit com cobertura >80%
- Integration Tests: Testes de API endpoints
- E2E Tests: Playwright/Cypress
- Security Scan: Verificação de vulnerabilidades
- Performance Test: Load testing com k6
- Staging: Deploy automático para cada PR
- Production: Deploy manual/aprovado
- Rollback: Automático se falhar testes
- Health Check: Verificação pós-deploy
- API Docs: Swagger/OpenAPI interativo
- Component Docs: Storybook para Angular
- Database Schema: Diagramas e migrations
- Architecture Docs: Decisões e padrões
- Getting Started: Guia de instalação
- User Manual: Como usar cada funcionalidade
- Admin Guide: Como gerenciar o sistema
- API Reference: Exemplos de uso da API
- Troubleshooting: Problemas comuns e soluções
- Finalizar implementação do clientWeb
- Corrigir erros TypeScript
- Implementar videochamada no client
- Configurar módulos ABP no admin
- Implementar testes E2E
- Otimizar performance da API
- Desenvolver versão mobile
- Implementar notificações push
- Sistema de arquivos e mídia
- Advanced moderation tools
- Analytics e reporting avançado
- Multi-language support
- AI-powered features
- Advanced video call features
- Integration com plataformas externas
- Enterprise features (SSO, LDAP)
- Global deployment strategy
- Advanced security features
-
Finalizar clientWeb:
- Corrigir erros de injeção de dependência
- Implementar videochamada WebRTC
- Adicionar testes unitários
- Melhorar responsividade
-
Configurar adminWeb:
- Customizar módulos ABP para negócio
- Implementar dashboards específicos
- Configurar permissões customizadas
- Integrar com clientWeb
-
Testes e QA:
- Implementar suíte de testes completa
- Configurar CI/CD pipeline
- Testes de carga e performance
- Testes de segurança automatizados
-
Documentação:
- Completar documentação da API
- Criar guias de usuário
- Documentar arquitetura
- Gravar vídeos tutoriais
Para dúvidas, sugestões ou problemas:
- Issues: GitHub repository issues
- Discussions: GitHub discussions para dúvidas
- Email: support@familymeet.dev
- Documentation:
/docsno repositório
Última atualização: 31/03/2026