Skip to content

NicolasRaf/EventSync-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EventSync Backend

📋 Descrição

Backend da plataforma EventSync, desenvolvido para gerenciar eventos, inscrições e check-ins de participantes. O projeto segue os princípios de Clean Architecture e utiliza tecnologias modernas do ecossistema Node.js.

🚀 Tecnologias Integradas

  • Node.js & Express: Base da aplicação.
  • TypeScript: Tipagem estática e segura.
  • Prisma: ORM moderno para interação com banco de dados (PostgreSQL).
  • TSyringe: Injeção de dependência para desacoplamento.
  • Zod: Validação robusta de dados de entrada.
  • JWT (JsonWebToken): Autenticação segura.
  • Swagger UI: Documentação interativa da API.

✨ Funcionalidades

  • Autenticação: Cadastro de usuários e Login (Geração de Token JWT).
  • Gestão de Eventos: Criação e Listagem de eventos.
  • Inscrições: Usuários autenticados podem se inscrever em eventos (controle de duplicidade).
  • Check-in: Funcionalidade para registrar a presença do participante no evento.

🛠️ Instalação e Configuração

Pré-requisitos

  • Node.js
  • PostgreSQL

1. Instalar dependências

npm install

2. Configurar Variáveis de Ambiente

Crie um arquivo .env na raiz do projeto e configure as variáveis:

DATABASE_URL="postgresql://user:password@localhost:5432/eventsync?schema=public"
JWT_SECRET="sua_chave_secreta_super_segura"
PORT=3333

3. Banco de Dados

Execute as migrations para criar as tabelas no banco:

npx prisma migrate dev

▶️ Executando o Projeto

Para iniciar o servidor em ambiente de desenvolvimento:

npm run dev

O servidor estará rodando em http://localhost:3333.

📚 Documentação da API

A documentação interativa com Swagger está disponível em: http://localhost:3333/api-docs

🏗️ Arquitetura

O projeto está organizado em:

  • Modules: Contém a lógica de negócio (UseCases, Repositories, Entities).
  • Shared: Recursos compartilhados (Container de DI, configs).
  • Presentation: Camada HTTP (Controllers, Routes, Middlewares).

About

EventSync AI is a mobile-first web platform for managing and participating in events, allowing organizers to create events, handle registrations, check-ins via QR codes, notifications, and certificates, while participants can discover events, register, interact socially, and evaluate events after they end.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors