nowshad-sust / subskribe

A program subscription suggester based on user interests

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

subskribe (under construction 🚧)

A movie and tv shows databse & subscription suggester based on user favourites.

Refereace website: https://reelgood.com/all

TODO: https://github.com/nowshad-sust/subskribe/projects

Prerequisites

  • Docker
  • NodeJS

How to run

  • Clone the repository git clone https://github.com/nowshad-sust/subskribe.git.
  • Open terminal after running cd subskribe.
  • Start Posgtres and pgadmin by running docker-compose up -d.
  • Now Posgtres and pgadmin should be running on port 6543 and 5555 respectedly.
  • Open two seperate terminal instance inside client and server folder.
  • Run npm install on both the instances.
  • Run npm run start:dev on both the instances.
  • The server should be up on http://localhost:4000.
  • The client should be up on http://localhost:3000.

Application Workflow

  • A node-cron job crawls movie data every 24 hours and updates/adds to the PostgreSQL database.
  • REST APIs based on Node-Express queries database using TypeORM.
  • React-Redux frontnend consumes the APIs and shows the data accordingly.

API Documentation

METHOD ENDPOINT DESCRIPTION
POST /api/v1/auth/login Logs in a user with credentials.
POST /api/v1/auth/register Register a new user.
PUT /api/v1/auth/change-password Changes password of an existing user.
GET /api/v1/programs Get paginated program list.
GET /api/v1/programs/favourites Get user's favourites list.
GET /api/v1/programs/requests Get all requested programs as admin.
POST /api/v1/programs/requests Add a new program request.
PUT /api/v1/programs/requests/approve Approve a pending program request.

About

A program subscription suggester based on user interests

License:MIT License


Languages

Language:TypeScript 92.7%Language:HTML 3.0%Language:JavaScript 2.6%Language:CSS 1.7%