EventFlow é uma aplicação avançada de gerenciamento de eventos que oferece recursos abrangentes e soluções sofisticadas para organizadores e participantes. Com recursos como autenticação segura do usuário, inscrição em eventos (online ou presenciais), seleção de hospedagem, pagamento de ingressos, testes de integração com cobertura de 95%, armazenamento em banco de dados SQL e arquitetura em camadas, o EventFlow garante uma experiência excepcional em todos os aspectos do gerenciamento de eventos.
- Autenticação do usuário utilizando JWT.
- Inscrição para eventos (online ou presenciais).
- Para eventos presenciais, o usuário pode escolher entre hospedagem com ou sem acomodação.
- Seleção de hotel e quartos.
- Pagamento do ingresso do evento.
- Testes de integração com 95% de cobertura de linhas.
- Uso de factories com faker-js para mockar dados nos testes.
- Armazenamento de dados em um banco de dados SQL (PostgreSQL).
- Arquitetura em camadas (controllers, middlewares, services, etc.).
- Tratamento de erros e implementação do padrão Repository.
- Validação de todas as entradas contra esquemas usando um middleware.
- Reforço da segurança com o uso da biblioteca reflect-metadata.
- Node.js
- Express.js
- Prisma
- Dotenv
- Dotenv-cli
- JWT
- PostgreSQL
- reflect-metadata
- Jest
- Supertest
- Faker.js
- Bcrypt
- Joi
- Clone este repositório
- Instale as dependências com
npm install - Crie um banco de dados PostgreSQL com o nome que desejar
- Configure o arquivo
.env.developmentusando o arquivo .env.example - Execute todas as migrações
npm run dev:migration:run- Popule o banco de dados com informações iniciais
npm run dev:seed- Execute o back-end em modo de desenvolvimento:
npm run dev- Siga os passos da seção anterior
- Configure o arquivo
.env.testusando o arquivo .env.example - Execute todas as migrações
npm run migration:run- Run test:
npm run test