Skip to content

Latest commit

 

History

History
84 lines (55 loc) · 2 KB

README.md

File metadata and controls

84 lines (55 loc) · 2 KB

Sing Me A Song API

Sing Me A Song is a web api for music recommendation. This is a public API and it is currently deployed to heroku.

Live Demo

link

Routes

  • https://sing-me-a-song-vel.herokuapp.com/

  • GET /recommendations/random

  • GET /recommendations/top/$AMOUNT

  • GET /recommendations/genres/$ID/random

  • GET /genres

  • GET /genres/$ID/

  • POST /recommendations
    expects: {"name":"$NAME", "youtubeLink":"$LINK"}

  • POST /recommendations/$ID/upvote
    expects nothing

  • POST /recommendations/$ID/downvote
    expects nothing

  • POST /genres
    expects: {"name":"$NAME"}

Visual Database Structure

link

Built With

  • NodeJS , ExpressJS , TypeScript , PostgreSQL
  • Linux

Tested With

  • Jest, Supertest

Instalation

  • Install NodeJS, nvm and git
  • $ git clone https://github.com/vitorelourenco/sing-me-a-song.git
  • $ npm i
  • Create your psql dev database, there's a dump at /dump_database_example.sql (there's no sensitive information there)
  • Create your psql test database
  • Create your .env and .env.test files (there are examples at /.env.example /.env.test.example)

Test

  • $ npm run test

Run Dev Environment

  • $ npm run dev

Build

  • $ npm run build

Dependencies

  • All dependencies are listed in the package.json file.

Deploy

  • You can deploy this project on heroku like I did. There are plenty of tutorials online and it's free.

Author

👤 Vitor Emanuel Lourenco

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a ⭐️ if you like this project!

Acknowledgments