naygomes / duet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

duet logo
duet logo

O que é o Duet?

O Duet é o ínicio de uma ideia de projeto pessoal. Feito de forma bem simplificada ao que era inicialmente, o Duet é um sistema de busca de músicas e letras de músicas. Nesse sistema, o usuário pode se cadastrar e procurar por músicas para salvar em sua playlist, além de você conseguir procurar pelas letras de suas músicas favoritas para cantar junto e até mesmo cadastrar suas próprias músicas em nosso banco de dados para que outras pessoas te conheçam.

Status do projeto

🚧 Projeto em construção... 🚧

OBS: Esse projeto é um trabalho final do processo seletivo interno(PSI) para o cargo de Tech Lead na EJCM.

Conteúdo

Features

  • Criar, listar, mostrar, atualizar e deletar usuário
  • Criar, listar, mostrar, atualizar e deletar música
  • Cadastro
  • Login
  • Logout
  • Mostrar dados do usuário logado
  • Mostrar playlist do usuário logado
  • Adicionar e remover músicas da playlist
  • Procurar músicas por nome e artista
  • Procurar letras de música

Pré-requisitos

Instalação Xampp - versão >7.3
Instalação Composer
Instalação de ferramenta para fazer as requisições na API (Insomnia, Postman)

Instalação

  • Faça a clonagem do projeto;
$ git clone https://github.com/naygomes/duet.git
  • Estando dentro da pasta do duet, entre na pasta 'back' e execute o seguinte comando no terminal:
$ composer install

Configuração

+Abra o Xampp em seu computador e, nas linhas "Apache" e "MySQL", aperte START.

  • Entre na pasta 'back' e copie o arquivo .env.example e renomeie essa cópia com o nome .env. Se estiverem pelo terminal, execute o seguinte comando no terminal:
$ cp .env.example .env
  • Crie um banco de dados em sua plataforma de gerenciamento (PhpMyAdmin, no caso do Xampp) e, no arquivo .env, coloque o mesmo nome no campo 'DATABASE';
  • Vá ao site da API vagalume e pegue sua credencial;
  • No arquivo .env, adicione a seguinte linha, substituindo o {sua credencial} pela credencial obtida na API:
API_KEY = {sua credencial}
  • A seguir, rode os seguintes comandos, ainda na pasta 'back':
$ php artisan key:generate
$ php artisan passport:install
  • Na pasta 'back', digite os seguinte comando para criar as tabelas do banco:
$ php artisan migrate 

Uso

  • Para interagirmos com a aplicação, precisamos servir o projeto.
$ php artisan serve 
  • Url de acesso:
http://localhost:8000/

As rotas do sistema estão no arquivo routes/api.php, usando os verbos HTTP correspondentes. Segue exemplos:

http://localhost:8000/api/register
http://localhost:8000/api/listUsers
http://localhost:8000/api/showUser/{id}
http://localhost:8000/api/searchMusic/{keyword}

Existem também rotas que são protegidas por uma middleware de autenticação, ou seja, só podem ser acessadas quando o usuário está logado ao sistema. Segue exemplos:

http://localhost:8000/api/getDetails
http://localhost:8000/api/addToPlaylist
http://localhost:8000/api/createMusic
http://localhost:8000/api/deleteMusic/{id}

Bibliotecas

  • "php": "^7.3|^8.0",
  • "guzzlehttp/guzzle": "^7.2",
  • "laravel/framework": "^8.12",
  • "laravel/passport": "^10.1",

Modelagem

  • Modelagem do Banco de Dados: Modelagem

Créditos

Gostaria de agradecer a todos que me ajudaram de alguma forma a iniciar esse projeto e seguir em frente no PSI. Em especial, agradeço à Carol, ao Ruas e à Gabi Jandres por me apoiarem a prosseguir, tanto no início, quando eu ainda nem sabia do PSI quanto na caminhada até agora, e que também me ajudaram bastante com o código; à Mileny que foi minha parceira de squad nesta etapa final e me ajudou bastante nesse projeto; e à Júlia Pohlmann que me ajudou a solucionar problemas no código que eu não conseguia resolver.

Autora

foto da autora


Nayara Gomes
Dev frontend - EJCM
Dev frontend - Venha pra Nuvem

Linkedin Badge Gmail Badge

About


Languages

Language:PHP 82.8%Language:Blade 16.5%Language:Shell 0.7%