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.example
to.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 test
Pull 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.