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.
-
6.1. Data models
6.2. Api Routes
6.3. Screenshots
This project uses the following technologies:
-
React , React Router and React-bootstrap for frontend
-
MongoDB for the database
- Dependencies
Backend Frontend
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
You need to create a .env file on the root of the project and put your JWT_SECRET key like that:
JWT_SECRET=secret
- Fork, then download or clone the repo.
git clone https://github.com/mariobalrod/MoviesApp.git
-
Make sure MongoDB service is running.
-
For the Back-end, install the dependencies once via the terminal.
npm install
- For the Front-end, install the dependencies once via the terminal.
cd client/
npm install
To deploy simply run the next command on the root of the project
npm run dev
// 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);
Please feel free to send pull request if you want to contribute!
Create new Issues (preferred)
or Email Me: [email protected]
1.0.0
- Mario Ballestero - Development - mariobalrod