- A Music recommendation website, this repo covers the API part.
- Features:
- Searching for Tracks
- Trending Tracks
- User
- Authentication
- History
- Favorites
- Profile
- Two versions of search
- Using PostgreSQL queries
- Using ElasticSearch
- Two versions of recommenndations
- Using a pre-made CSV file that was made by Jonathan Monir
- or by connecting to a running insance of Songify-ML
Deployment on AWS- Utilizing the Projects tab link
- Separating frontend and backend in a monorepo setting.
- NestJS
- Prisma
- PostgreSQL
- PassportJS
- RabbitMQ
- ...
- To-do...
- Docker for running PostgreSQL (or any other source for a PostgreSQL instance).
- NodeJS
- Optional: ElasticSearch (see
elastic-search
folder) and/or Songify-ML - Install Yarn & Nest CLI
npm install --global yarn @nestjs/cli
$ yarn install
# For env vars
$ mv .sample.env .env
# Creating docker container
$ yarn run db:up
# Pushing db schema to docker
$ yarn run db:push
# running api tests and making sure everything is ok
# note: I use the same container for testing and development.
$ yarn run test
# running server
# You can access API Docs at http://lcoalhost:8080/api-docs
$ yarn run dev