Skip to content

Latest commit

 

History

History
204 lines (142 loc) · 6.04 KB

File metadata and controls

204 lines (142 loc) · 6.04 KB

🏗️ StructLive

Next.js TypeScript React Tailwind CSS

Plataforma visual e interativa para aprender Estruturas de Dados passo a passo.

🎯 Sobre

O StructLive é uma plataforma educacional que oferece uma experiência completa e interativa para aprendizado de estruturas de dados:

  • 📚 Teoria Interativa: Conteúdo didático rico e acessível
  • 🎨 Visualizações Animadas: Veja estruturas de dados em ação
  • 💻 Desafios Práticos: Editor de código com análise por IA
  • 🎮 Atividades Gamificadas: Questionários com sistema de progresso
  • 📊 Estruturas Disponíveis: Listas (LDSE, LDDE, LEE, LES) e mais

🚀 Início Rápido

# Clone o repositório
git clone <url-do-repositorio>
cd next-structlive

# Instale as dependências
npm install

# Configure as variáveis de ambiente
cp .env.example .env
# Edite o .env com suas credenciais

# Inicie o servidor de desenvolvimento
npm run dev

Acesse: http://localhost:3000

💡 Primeira vez? Veja o Guia de Setup detalhado.

📚 Documentação

A documentação completa está organizada na pasta docs/:

🎯 Essenciais

🛠️ Desenvolvimento

🚀 Deploy & Referência

🛠️ Stack Técnica

Frontend

  • Next.js 15 - Framework React com App Router
  • React 19 - Biblioteca de interface
  • TypeScript 5.8 - Linguagem tipada
  • Tailwind CSS 4 - Framework de estilos
  • shadcn/ui - Componentes de interface

Backend & Serviços

  • NextAuth.js - Autenticação
  • Supabase - Banco de dados PostgreSQL
  • Google Gemini AI - Análise de código por IA
  • RabbitMQ - Sistema de filas

Testes & Qualidade

  • Vitest - Framework de testes
  • Testing Library - Testes de componentes
  • ESLint - Linting de código

📚 Veja mais detalhes em Tech Stack

📁 Estrutura do Projeto

next-structlive/
├── src/
│   ├── app/                  # App Router (Next.js 15)
│   │   ├── api/             # API Routes
│   │   └── estruturas/      # Páginas de estruturas de dados
│   ├── components/          # Componentes reutilizáveis
│   │   └── ui/             # Componentes shadcn/ui
│   └── lib/                # Utilitários e configurações
├── docs/                    # 📚 Documentação completa
├── scripts/                 # 🔧 Scripts de automação
├── workers/                 # ⚙️ Workers RabbitMQ
└── __tests__/              # 🧪 Testes unitários

📖 Veja a Arquitetura Completa

⚡ Scripts Disponíveis

# Desenvolvimento
npm run dev              # Inicia servidor de desenvolvimento
npm run start:worker     # Inicia worker RabbitMQ

# Build & Produção
npm run build           # Build de produção
npm start               # Inicia servidor de produção

# Testes
npm test                # Executa testes
npm run test:watch      # Testes em modo watch
npm run test:ui         # Interface visual de testes
npm run coverage        # Relatório de cobertura

# Qualidade de Código
npm run lint            # Verifica problemas de lint
npm run type-check      # Verifica erros de TypeScript

# Criação de Módulos
npx tsx scripts/create-module.ts "Nome do Módulo" "Tipo 1" "Tipo 2"
npx tsx scripts/create-type.ts "Módulo Existente" "Novo Tipo"

🔧 Veja mais em Scripts de Automação

🧩 Criando Novos Módulos

Criar novos módulos é simples com os scripts de automação:

# Criar um módulo completo
npx tsx scripts/create-module.ts "Pilha" "Pilha Estática" "Pilha Dinâmica"

# Adicionar tipo a módulo existente
npx tsx scripts/create-type.ts "Pilha" "Pilha com Lista"

Os scripts criam automaticamente:

  • ✅ Estrutura de diretórios
  • ✅ Componentes (teoria, visualização, atividade, desafio)
  • ✅ Arquivos de configuração
  • ✅ Registros globais atualizados

📖 Guia completo: Criando Módulos

🧪 Testes

# Executar todos os testes
npm test

# Modo watch (desenvolvimento)
npm run test:watch

# Interface visual
npm run test:ui

📚 Veja o Guia de Testes

🐳 Docker

# Iniciar RabbitMQ
docker-compose up -d

# Verificar status
docker ps

# Ver logs
docker-compose logs -f

Acessos:

📝 Licença

Este projeto é de código aberto.

🔗 Links Úteis


Desenvolvido com ❤️ para estudantes de Estruturas de Dados