Um serviço backend em Node.js que fornece autenticação OAuth do Spotify e dados musicais por meio de endpoints RESTful.
https://spotify-backend-psi.vercel.app/
https://sonarcloud.io/project/overview?id=pefelippe_spotify-backend
- Integração com Spotify OAuth - Autenticação segura com a API do Spotify
- API RESTful - Endpoints limpos e padronizados para fácil integração
- TypeScript - Tipagem completa e recursos modernos do JavaScript
- Testes Abrangentes - Cobertura de testes unitários, integração e E2E
- Qualidade de Código - Integração com ESLint, Prettier e SonarQube
- Suporte a Docker - Pronto para implantação containerizada
- Node.js 18+
- npm ou yarn
- Conta de Desenvolvedor do Spotify
- Credenciais do App do Spotify
-
Clone o repositório
git clone <repository-url> cd spotify-backend
-
Instale as dependências
npm install # ou yarn install -
Configuração de Ambiente Crie um arquivo
.env.localcom suas credenciais do Spotify:SPOTIFY_CLIENT_ID=seu_client_id_spotify SPOTIFY_CLIENT_SECRET=seu_client_secret_spotify SPOTIFY_REDIRECT_URI=url-do-frontend/auth/callback
-
Executar Script de Setup
npm run setup
npm run devnpm run build
npm start# Executar todos os testes
npm test
# Apenas testes unitários
npm run test:unit
# Testes E2E
npm run test:e2e
# Modo watch
npm run test:watch
# Relatório de cobertura
npm run test:coverage| Método | Endpoint | Descrição |
|---|---|---|
GET |
/health |
Verificação de status da API |
GET |
/auth/login |
Login OAuth do Spotify |
GET |
/auth/callback |
Callback OAuth do Spotify |
POST |
/auth/refresh |
Renovação de token de acesso |
src/
├── config/ # Arquivos de configuração
├── controllers/ # Handlers das requisições
├── middleware/ # Middlewares do Express
├── routes/ # Definições de rotas da API
├── services/ # Regras de negócio
├── types/ # Definições de tipos TypeScript
└── utils/ # Funções utilitárias
O projeto inclui testes abrangentes com Jest:
- Testes Unitários: Teste de componentes individuais
- Testes de Integração: Teste dos endpoints da API
- Testes E2E: Teste do fluxo completo
- Cobertura de Testes: Relatórios detalhados de cobertura
- ESLint - Linting e padronização de código
- Prettier - Formatação de código
- Husky - Hooks do Git para garantia de qualidade
- SonarQube - Análise de qualidade de código
Build e execução com Docker:
# Build da imagem
docker build -t spotify-backend .
# Executar o container
docker run -p 3000:3000 spotify-backendnpm run dev- Inicia o servidor de desenvolvimentonpm run build- Build para produçãonpm run start- Inicia o servidor em produçãonpm run test- Executa todos os testesnpm run lint- Verifica a qualidade do códigonpm run format- Formata o código com Prettier
- Faça um fork do repositório
- Crie uma branch de feature
- Faça suas alterações
- Execute os testes e o lint
- Envie um pull request
Este projeto está licenciado sob a Licença MIT.
