Skip to content

API for a music recommendation system, using Typescript, NestJS, Prisma & Jest.

Notifications You must be signed in to change notification settings

G0maa/songify-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

codecov CI Pipeline Status

Songify-app | api

  • 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

Currently working on

  • Deployment on AWS
  • Utilizing the Projects tab link
  • Separating frontend and backend in a monorepo setting.

Tech stack

  • NestJS
  • Prisma
  • PostgreSQL
  • PassportJS
  • RabbitMQ
  • ...

Live Version:

  • To-do...

Prerequisites:

  1. Docker for running PostgreSQL (or any other source for a PostgreSQL instance).
  2. NodeJS
  3. Optional: ElasticSearch (see elastic-search folder) and/or Songify-ML
  4. Install Yarn & Nest CLI npm install --global yarn @nestjs/cli

Installation

$ yarn install

Running the app

# 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

About

API for a music recommendation system, using Typescript, NestJS, Prisma & Jest.

Topics

Resources

Stars

Watchers

Forks