Indique, convide e suba no ranking.
📃 Sobre • 🛠️ Tecnologias • ✨ Funcionalidades • 🚀 Como rodar • 📖 Documentação
O devstage é uma aplicação web de sistema de indicações e convites para eventos, e este repositório contém a API REST que a alimenta. Por meio dela é possível cadastrar participantes em eventos, gerar links únicos de convite, registrar acessos e inscrições originadas por cada link e calcular o ranking global de indicações em tempo real. Além disso, a API conta com um agente de inteligência artificial capaz de consultar métricas do evento diretamente no PostgreSQL e Redis e gerar respostas inteligentes sobre desempenho, acessos e conversões de convites. O backend é construído com Node.js, Fastify e Drizzle ORM.
- 🟩 Node.js — Ambiente de execução JavaScript server-side.
- ⚡ Fastify — Framework web focado em performance e baixo overhead.
- 🟦 TypeScript — Tipagem estática e segurança em tempo de desenvolvimento.
- 🗃️ Drizzle ORM — ORM moderno e type-safe para TypeScript.
- 🐘 PostgreSQL — Banco de dados relacional para persistência dos dados.
- 🔴 Redis — Armazenamento em memória para ranking e contagem de acessos em tempo real.
- 🐳 Docker — Containerização do banco de dados para ambiente reproduzível.
- 📖 Swagger — Documentação interativa da API via
@fastify/swagger. - 🛡️ Zod — Validação e parsing de schemas com inferência de tipos.
- 🔍 Biome — Linting e formatação de código de alta performance.
- 🤖 Vercel AI SDK — Criação de agente de IA com tool calling para consulta de métricas do evento.
- 📝 Inscrição de participantes em eventos
- 🔗 Geração de link único de convite por participante
- 👥 Registro de inscrições originadas por links de convite
- 📊 Contagem de acessos ao link de convite
- 🎯 Contagem de inscrições geradas pelo link
- 🏆 Posição do participante no ranking de indicações
- 🌍 Ranking global de indicações em tempo real
- 🤖 Agente de IA para consulta de métricas do evento
- 🧠 Geração de respostas inteligentes com base em dados do PostgreSQL e Redis
- 🛡️ Validação de dados com Zod
- 📖 Documentação interativa da API com Swagger
- 🟩 Node.js 18+
- 📦 npm
- 🐳 Docker
-
Clone o repositório:
git clone https://github.com/joschonarth/devstage-server.git
-
Acesse a pasta do projeto:
cd devstage-server -
Instale as dependências:
npm install
-
Configure as variáveis de ambiente copiando o arquivo de exemplo:
cp .env.example .env
Suba os containers do PostgreSQL e do Redis com Docker:
docker compose up -dExecute as migrations para criar as tabelas:
npx drizzle-kit migrateInicia o servidor em modo de desenvolvimento:
npm run devO servidor estará disponível em http://localhost:3333.
O projeto conta com um agente de inteligência artificial desenvolvido com o Vercel AI SDK, utilizando tool calling para acessar dados do sistema.
Esse agente é capaz de:
- Consultar métricas de convites no PostgreSQL
- Obter contagem de acessos armazenada no Redis
- Gerar respostas inteligentes sobre o desempenho de eventos e participantes
Com o servidor rodando, acesse a documentação interativa gerada pelo Swagger:
Se curtiu o projeto, deixe uma ⭐ aqui no GitHub — isso ajuda muito!
Feito com ♥ por João Otávio Schonarth