Spotify Server
Este projeto foi desenvolvido no quinto módulo do curso de back-end da Blue EdTech com foco em aprimorar nossas habilidades em criar uma API que utilize TypeScript, NestJs, Prisma ORM e PostgreSQL. A presente API tem como objetivo que um usuário utilize de funcionalidades parecidas com as do Spotify e também possa criar perfis, dependendo do plano em que ele "assina". Artistas também tem suas próprias funcionalidades. Além disso também é possível que administradores possam gerir a plataforma.
Pré-requisitos
É imprescindível que você tenha instalado em seu computador o NodeJs e o PostgreSQL para que possa executar e testar este projeto.
- Node - https://nodejs.org/en/download/
- PostgreS - https://www.postgresql.org/download/
Instalação
Exemplo:
Clone esse projeto em seu computador com o comando:
git clone [https://github.com/mlucasdev/spotify-server]
Acesse a pasta do projeto seu terminal:
cd [spotfy-server]
Já pasta da aplicação em seu terminal, digite o seguinte comando:
npm install
Crie um arquivo '.env' e preencha com as variáveis do arquivo '.env.example'
DATABASE_URL="postgresql://[nome do usuário no postgres]:[senha do usuário]@localhost:[porta em que seu banco de dados está rodando, ex: '5432']/spotify-server"
JWT_SECRET="klsA92n9LWS9bfjs128$%"
Execução
Esse é talvez o tópico mais importante, faça com atenção.
Através das informações especificadas nele, outras pessoas poderam visualizar e testar o funcionamento da sua aplicação.
Após ter configurado o projeto e ter aguardado a instalação das dependencias de desenvolvimento, execute o comando:
npm run start
Caso queira que o projeto rode automaticamente após fazer alguma alteração no código execute o comando:
npm run start:dev
Para criar as tabelas no banco de dados execute o comando:
npx prisma db push
A aplicação estará disponível para visualização em seu navegador, caso isso não aconteça automaticamente abre o navegador no seguinte endereço: localhost:3006/api
Funcionalidades
-
Como usuário, você tera acesso as músicas e aos álbuns criadas pelos artistas e também poderá criar playlists, favoritar músicas e playlists de outros usuários.
-
Um admin só pode ser criado por um manager e ele poderá gerir a plataforma.
-
Como artista, você poderá publicar suas músicas e criar álbuns.
Contribuições
Para contribuir com os autores desse projeto, você pode nos indicar para uma vaga na empresa que você trabalha. #contrataagente
Autores
-
Gustavo Martins - Desenvolvedor e Idealizador do Projeto - Github | Linkedin
-
Lucas Marques - Desenvolvedor e Idealizador do Projeto - Github | Linkedin
Licença
General Public License GNU.
Agradecimentos
Agradecemos a Blue EdTech pelo ensinamento e oportunidade de podermos colocar em prática tudo que aprendemos nos módulos passados. Agradecemos também aos professores Leo Ruiz, Marcus Silva e Paulo Salvatore