Movies App


Languages and frameworks 📑

  • Node.js
  • React.js
  • Postgresql
  • Typescript

Features 🥇

  • Easy discover, search, filter and add movies to your favorite list.

Cloning the repo and starting the app

  • clone the repository and open the project in any IDE
git clone https://github.com/MohamedRagaab/movies-app-mnzl-technical-task.git
cd movies-app-mnzl-technical-task
  • You can install docker desktop then run the following command to start the whole app and then open: http://localhost
docker compose up
  • or you can run every service manually

BE:

cd /BE
npm install
npm run build
npm run start

FE:

cd /FE
npm install
npm run start
  • For the database, I created a Postgresql db on Render so you don't have to deal with this part. it will connect to it directly. have a look at the DB design:

  • Render deployments (FE, BE and DB):

Usage 🚀

  • Here is the list of the RESTful APIs
    • Users:

      • Login User:
        POST /users/login
      • Register User:
        POST /users 
      • Find User:
        PUT /users/:id
    • Favorites:

      • Add to Favorites:
        POST favorites/add
      • Remove from favorites:
        POST /favorites/remove
      • List Favorites:
        GET /favorites

Task Checklist ✅

  • Using themoviedb for building CRUD app
  • Use Postgresql for data persistence.
  • Frontend is built using react.js
  • Server built using node.js
  • Usig git version control
  • Deploy the app on a hosted service