Skip to content

lausompac/lama

Repository files navigation

🎸 Labenu Music Awards 🎸

Sistema de gerenciamento para organização de festival de música

Projeto final de backend - Módulo 5 - Labenu

Sobre o projeto

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).

📄Documentação

LINK POSTMAN

Os endpoints também podem ser testados diretamente no projeto através do arquivo requests.rest

🚀 Deploy

LINK HEROKU

✔️ Features

👤 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.

🎲 Rodando o Backend (servidor)

Pre-Requisitos

  • 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

Como instalar e Rodar

  • 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.

🛠 Tecnologias utilizadas

  • Typescript;
  • Express;
  • Cors;
  • Knex;
  • SQL

🚀 Aplicações utilizadas

  • VSCode;
  • Beekeeper-Studio;
  • Postman;

👨‍💻 Desenvolvedor:


Laura Campos


About

Labenu Music Awards

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •