Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌿 CATARSE — Bem-Estar Social & Conexões Intencionais

"Não queremos que o utilizador fique viciado, queremos que ele se sinta nutrido."

O Catarse é uma rede social alternativa fundada nos princípios de Slow Tech e economia de atenção consciente. Diferente das redes tradicionais desenhadas para retenção infinita e estímulo dopaminérgico, o Catarse estimula interações com propósito, cultivo da saúde mental, apoio comunitário e desaceleração digital.

A aplicação é construída com arquitetura Monorepo (pnpm + Turbo + Next.js 16 App Router), Supabase Cloud (PostgreSQL + RLS + Realtime), Docker e moderação inteligente por IA (Sentinela).


✨ Funcionalidades Principais

🏛️ Tribos & Comunidades (Experiência Estilo Discord)

  • Canais de Texto e Voz Granulares: Suporte a canais de acesso Público, Privado (restrito por cargo) e Exclusivo Staff.
  • Mural de Avisos (Átrio): Espaço dedicado a anúncios oficiais da comunidade com permissões de publicação.
  • Enquetes de Votação (CRUD): Criação de enquetes interativas com múltiplas opções, controle de tempo de expiração e barras percentuais em tempo real.
  • Gestão Avançada de Cargos & Permissões:
    • Personalização de nome, cor hexadecimal e ícones temáticos (Shield, Crown, Star, Flame, Zap, Award, Heart, Sparkles).
    • Permissões chaveáveis: acesso a canais privados, gestão de apelidos, aprovação de pedidos de adesão, expulsão, silenciamento (mute) e banimento.
  • Moderação Completa de Chat & Membros:
    • Exclusão e alteração persistente de mensagens via PostgREST + RLS no Supabase.
    • Fixação e destaque de mensagens no canal.
    • Apelidos personalizados por grupo.
    • Silenciamento Temporário (Mute): Restrição de publicação no grupo por tempo determinado.
    • Banimento Permanente: Revogação de acesso com ocultação do grupo no perfil e pesquisas públicas.

🛡️ O Agente Sentinela (IA Autônoma & Custo Zero/Baixo)

Filtragem e moderação em 5 camadas:

  1. Camada 1: Heurística Local ($0) — Entropia de texto, regex e detecção de spam em código puro TypeScript.
  2. Camada 2: Cache Semântico ($0) — Respostas e mentorias pré-armazenadas no banco Supabase.
  3. Camada 3: Motor Groq LPU / Ollama Local — Moderação rápida e de baixo custo (llama-3.1-8b-instant ou deepseek-v2:lite local).
  4. Mentoria de Catarse — Guia inspirador que sugere expansões para desabafos e contribuições curtas.

🛠️ Arquitetura & Stack Tecnológica

  • Frontend & App Web: Next.js 16 (App Router, Turbopack, React 19, TailwindCSS, Lucide Icons).
  • Arquitetura de Software: Monorepo com DDD (Domain-Driven Design), Clean Architecture e MVVM (packages/domain, packages/application, packages/infrastructure, apps/web).
  • Banco de Dados & Autenticação: Supabase Cloud (PostgreSQL 15+, Row Level Security RLS, Realtime Subscriptions, Storage Buckets).
  • Motor de IA: Groq LPU API / Ollama Local.
  • Containerização & CI/CD: Docker (multi-stage build standalone) + GitHub Actions.

📁 Estrutura do Monorepo

catarse/
├── apps/
│   └── web/                   # Aplicação Next.js 16 (UI, Views, ViewModels, Server Actions)
├── packages/
│   ├── domain/                # Entidades, Schemas Zod, Interfaces de Repositório
│   ├── application/           # Casos de Uso (Use Cases) e Regras de Negócio Pure TS
│   └── infrastructure/        # Implementações Supabase, Repositórios e Serviços Externos
├── supabase/
│   └── migrations/            # Migrações versionadas SQL enviadas via Supabase CLI
└── docker-compose.yml         # Configuração Docker para desenvolvimento e execução standalone

📋 Como Executar Localmente

1. Requisitos Prévios

  • Node.js >= 20.x
  • pnpm >= 9.x
  • Docker & Docker Compose (opcional)

2. Clonar e Instalar Dependências

git clone https://github.com/LuizCorrea-Dev/catarse.git
cd catarse
pnpm install

3. Configurar Variáveis de Ambiente

Copie .env.example para .env na raiz e em apps/web/.env.local:

NEXT_PUBLIC_SUPABASE_URL=https://<sua-instancia>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<sua-anon-key>
SUPABASE_SERVICE_ROLE_KEY=<sua-service-role-key>
GROQ_API_KEY=<sua-groq-key>

4. Executar em Modo de Desenvolvimento

pnpm dev

Acesse a aplicação no navegador em http://localhost:3000.

5. Executar Validação de Build

pnpm --filter web build

🐳 Execução via Docker

Para rodar a aplicação em contêineres:

# Subir contêineres em segundo plano
docker compose up -d

# Reconstruir imagens e iniciar
docker compose up --build -d

# Parar contêineres
docker compose down

🤝 Manifesto

O Catarse não promete felicidade instantânea. Promete espaço.
Aqui, não precisas de atuar ou performar. Existir e partilhar a tua verdade já é o suficiente. 🌿

About

Rede social de Slow Tech focada em bem-estar emocional e interações conscientes através do sistema VIBE (Verdade Integrada e Bem-Estar Emocional).

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages