Skip to content

mariobalrod/movies-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoviesApp


MoviesApp is an application that allows you to classify movies in lists. It offers you to keep an order for the movies that you have seen or you want to see, in addition you can create your own movies lists.


App

Table of contents

  1. Technologies

  2. File Structure

  3. Prerequisites

  4. Installing

  5. Start

  6. About the App

    6.1. Data models

    6.2. Api Routes

    6.3. Screenshots

  7. Contributing

  8. BUGs or comments

  9. Version

  10. Authors

Technologies

This project uses the following technologies:

File Structure

MoviesApp
  ├── docs/
  └── client
      ├── node_modules/
      ├── package.json
      ├── package-lock.json
      ├── public/
      └── src
          ├── components
          │   ├── lists/
          │   ├── movies/
          │   ├── partials/
          │   └── users/
          ├── helpers/
          ├── styles/
          ├── svg/
          ├── views/
          ├── App.js
          ├── index.js
          └── setupProxy.js
  ├── node_modules/
  ├── package.json
  ├── package-lock.json
  ├── README.md
  └── server
      ├── config
      │   └── serverAuth.js
      ├── controllers
      │   ├── lists.controllers.js
      │   ├── movies.controllers.js
      │   └── users.controllers.js
      ├── database.js
      ├── index.js
      ├── models
      │   ├── List.js
      │   ├── Movie.js
      │   └── User.js
      ├── routes
      │   ├── index.js
      │   ├── lists.routes.js
      │   ├── movies.routes.js
      │   └── users.routes.js
      ├── server.js
      └── validator
          ├── login.js
          └── register.js

Prerequisites

You need to create a .env file on the root of the project and put your JWT_SECRET key like that:

JWT_SECRET=secret

Installing

  1. Fork, then download or clone the repo.
git clone https://github.com/mariobalrod/MoviesApp.git
  1. Make sure MongoDB service is running.

  2. For the Back-end, install the dependencies once via the terminal.

npm install
  1. For the Front-end, install the dependencies once via the terminal.
cd client/
npm install

Start

To deploy simply run the next command on the root of the project

npm run dev

About the App

Data Models

App

Api Routes

// Api Movies Routes
router.get('/', getAllMovies);
router.get('/:id', getMovieById);
router.get('/:type/:user', getMoviesByType);
router.post('/add', createMovie);
router.post('/types', updateTypeMovies);
router.put('/:id', updateMovie);
router.delete('/:type/:user', deleteMoviesByType);
router.delete('/delete', deleteMovie);
router.delete('/:id', deleteMovieById);
router.get('/count/:type/:user', getCountMoviesByType);
// Api Users Routes
router.post('/login', login);
router.post('/register', registerUser);
router.post('/description/:id', updateDescription);
router.get('/description/:id', getDescription)
router.put('/password/:id', updatePassword);
router.get('/', getAllUsers);
router.get('/:id', getUserById);
router.delete('/:id', deleteUser);
// Api Lists Routes
router.get('/', getAllLists);
router.get('/:id', getListById);
router.get('/own/:user', getLists);
router.post('/create', createList);
router.post('/update/:id', updateList);
router.delete('/:id', deleteListById);
router.get('/count/:user', getCountList);

Screenshots

Home Page App


Lists Page App


Profile Page App

Contributing

Please feel free to send pull request if you want to contribute!

BUGs or comments

Create new Issues (preferred)

or Email Me: [email protected]

Version

1.0.0

Authors