An application built using Next.js, Express.js, and PostgreSQL, showcasing top artists, albums, and song lyrics from Musixmatch API.
For the frontend project, please follow this link.
- User authentication using JWT.
- Display top 25 artists.
- Show a list of albums per artist.
- Display song lyrics, handling special characters like '\n' for a better user experience.
- Node.js v14+
- PostgreSQL 13+
- Musixmatch Developer API Key
-
Clone the repository:
git clone https://github.com/LightningDev/music-data-server.git
-
Navigate to the project directory and install dependencies:
cd music-data-server npm install -
Setup Environment Variables:
- Rename
.env.exampleto.env. - Fill in the required variables such as
DATABASE_URL,SECRET_KEY, andMUSIXMATCH_API_KEY. There is also explaination for each of them.
- Rename
-
Run Migrations:
npm run migrate:up
-
Start the development server:
npm run dev
This project uses Jest for testing. To run the tests:
npm testPull requests are welcome! For major changes, please open an issue first to discuss the changes you'd like to make.
This project is licensed under the MIT License.