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.
OBS: Esse projeto é um trabalho final do processo seletivo interno(PSI) para o cargo de Tech Lead na EJCM.
- 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
Instalação Composer
Instalação de ferramenta para fazer as requisições na API (Insomnia, Postman)
- 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
+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
- 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}
- "php": "^7.3|^8.0",
- "guzzlehttp/guzzle": "^7.2",
- "laravel/framework": "^8.12",
- "laravel/passport": "^10.1",
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.
Nayara Gomes
Dev frontend - EJCM
Dev frontend - Venha pra Nuvem