O Pass.in é uma aplicação para gestão de participantes em eventos presenciais, permitindo que organizadores cadastrem eventos e gerenciem inscrições e check-ins de participantes de maneira eficiente.
Esta aplicação back-end lida com todas as operações de dados, desde o cadastro de eventos até a gestão de participantes e o processamento de check-ins.
🔗 Link da api para uso: https://api.pass-in.pro 🔗 Link da documentação: https://api.pass-in.pro/docs
O back-end do Pass.in suporta as seguintes funcionalidades:
- O organizador pode cadastrar um novo evento;
- O organizador pode visualizar dados de um evento;
- O organizador pode visualizar a lista de participantes;
- O organizador pode realizar o check-in de um participante;
- O organizador pode cancelar o check-in de um participante;
- O organizador pode editar os dados de um participante;
- O participante pode se inscrever em um evento;
- O participante pode visualizar seu crachá de inscrição;
- O participante pode realizar check-in no evento;
- Node.js e Fastify para a construção do servidor
- Prisma como ORM para o gerenciamento do banco de dados
- SQLite para desenvolvimento e PostgreSQL para produção
- Swagger para documentação da API
Para executar o back-end localmente, siga os passos abaixo:
- Clone o repositório:
git clone https://github.com/Lag0/nlw-unite-nodejs.git
cd nlw-unite-nodejs
- Instale as dependências:
npm install
- Crie um arquivo
.env
na raiz do projeto com a seguinte linha, que configura o banco de dados para usar SQLite no ambiente de desenvolvimento:
DATABASE_URL="file:./dev.db"
- Atualize o
schema.prisma
para usar SQLite:
De:
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
Para:
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
- Execute as migrações para criar o banco de dados:
npx prisma migrate dev
- Inicie o servidor:
npm run dev
A API agora estará rodando localmente e acessível via http://localhost:3333
.
Acesse http://localhost:3333/docs
para visualizar a documentação da API Swagger e testar os endpoints.
O diagrama ERD e a estrutura SQL fornecidos detalham o design do banco de dados usado pela aplicação. Para ambientes de produção, recomenda-se o uso de PostgreSQL.
Contribuições são bem-vindas! Para contribuir, por favor, crie um fork do repositório, faça suas alterações e submeta um pull request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.