Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nowshad-sust/subskribe
A program subscription suggester based on user interests
https://github.com/nowshad-sust/subskribe
chakra-ui docker express full-stack javascript nodejs reactjs redux redux-thun typeorm typescript
Last synced: about 1 month ago
JSON representation
A program subscription suggester based on user interests
- Host: GitHub
- URL: https://github.com/nowshad-sust/subskribe
- Owner: nowshad-sust
- License: mit
- Created: 2020-04-18T13:33:13.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T22:27:43.000Z (almost 2 years ago)
- Last Synced: 2023-02-28T22:56:15.376Z (almost 2 years ago)
- Topics: chakra-ui, docker, express, full-stack, javascript, nodejs, reactjs, redux, redux-thun, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 808 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# subskribe (under construction :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.