Sistema de gerenciamento para organização de festival de música
Projeto final de backend - Módulo 5 - Labenu
API REST criada para gerenciar um festival de música. Nessa API, podemos cadastrar usuário, atrações musicais e efetuar reservas de ingressos. O projeto conta com autenticação JWT e Hash de senha, além de testes unitários. A API foi desenvolvida utilizado as tecnologias TYPESCRIPT, NODE.JS, EXPRESS.JS, MYSQL como banco de dados e JEST para testes unitários. Além disso, o projeto foi estruturado utilizando PROGRAMAÇÃO ORIENTADA A OBJETOS(POO).
LINK POSTMAN
Os endpoints também podem ser testados diretamente no projeto através do arquivo requests.rest
LINK HEROKU
👤 Cadastro/Login
- O sistema deve permitir o registro de usuário. Para se cadastrar, é necessário fornecer um nome, um email válido e uma senha. Você pode ser um cliente (usuário normal) ou um administrador do sistema (admin). Por padrão, o novo cadastro é registrado como cliente. O login do usuário acontece automaticamente após o cadastro.
- Para realizar o login, basta informar seu e-mail e a sua senha. O retorno deve conter o token de autenticação do usuário.
🎙 Registrar Atração
- O sistema deve registrar todas as atrações que participarão dos cinco dias de festival. Para uma atração ser criada, é preciso fornecer nome e a data que a mesma se apresentará. Duas Atrações não podem tocar em um mesmo dia. Somente administradores podem registrar atrações.
🎸 Detalhes da Atração
- Cada atração recebe um ID, nome, data e quantidade de ingressos disponíveis.
🎟️ Reserva de ingressos
- O sistema deve possibilitar a reserva de ingressos. Cada usuários pode reservar apenas 1 ingresso por show.
- O sistema também deve permitir o cancelamento de reserva. Administradores tem permissão para cancelar qualquer reserva, enquanto cada cliente pode cancelar apenas sua própria compra.
- Para rodar o projeto você vai precisar do Node.JS,
- Uma instancia de um banco de dados MySQL
- Um editor para trabalhar com o código como VSCode
- Para baixar o projeto
1. git clone https://github.com/lausompac/lama.git
2. cd lama
- Para instalar e rodar o projeto
3. npm install
4. npm dev
ou
3. yarn install
4. yarn dev
- Para rodar os testes
5. npm test
5. yarn test
Crie um arquivo .env na raiz do projeto e preencha as variáveis com seus dados do banco de dados MySQL. É muito importante para a execução do servidor.
- Typescript;
- Express;
- Cors;
- Knex;
- SQL
- VSCode;
- Beekeeper-Studio;
- Postman;
Laura Campos