E uma aplicaçao de gestão de participantes em eventos presenciais. A ferramenta ira permitir que o organizador cadastre um evento e abra uma pagina de inscriçao, e os participantes inscritos no evento podem emitir uma credencial para checkin no dia do evento. O sistema fara um scan da credencial usando QRCode, permitindo a entrada do participante no evento.
-
O organizador deve poder cadastrar um novo evento;
-
O organizador deve poder visualizar dados de um evento;
-
O organizador deve poser visualizar a lista de participantes;
-
O participante deve poder se inscrever em um evento;
-
O participante deve poder visualizar seu crachá de inscrição;
-
O participante deve poder realizar check-in no evento;
-
O participante só pode se inscrever em um evento uma única vez;
-
O participante só pode se inscrever em eventos com vagas disponíveis;
-
O participante só pode realizar check-in em um evento uma única vez;
- O check-in no evento será realizado através de um QRCode;
- Node.js >= v20.10.0
- NPM >= v10.2.5
- Fastify >= v4.26.x
- Zod >= v3.22.4
- TypeScript >= v5.4.4
- Prisma >= v5.12.1
- fastify-type-provider-zod
fastify-swagger >= v8.14.0
Para documentação da API. Acessar: http://localhost:3333/docs
SQLite >= v3.45.2
Nessa aplicação utilizamos o banco de dados ralacional (SQL). Para o desenvolvimento seguimos com o SQLite pela facilidade do ambiente.
- Criar uma pasta para o projeto
~ mkdir project
- Clonar o projeto na pasta
project > git clone <esse_projeto>
- Instalar as dependencias
project/pass-in-NLW > npm i
- Definir configuraçoes do TypeScript
Pesquisar pela versao do Node e colar no arquivo
tsconfig.json
: https://github.com/tsconfig/bases
project/pass-in-NLW > npx tsc --init
- Iniciar o prisma e definir o banco de dados
project/pass-in-NLW > npx prisma init --datasource-provider SQLite
- Migrar as tebelas do banco de dados
project/pass-in-NLW > npm run db:migrate
- Utilizar a aplicação
project/pass-in-NLW > npm run dev
- Para ver os dados no banco de dados
project/pass-in-NLW > npm run db:studio