This is an example RESTful App with several models being stored in a mongo database.
As a huge movies fan, I decided to create my own collection which contains a list of my favorites movies selected by their directors. The user in addition to visit this app, can also add new movies and new directors based on his preferences.
You can find it here
- Authentication with BCrypt
- Login redirects to previously viewd page (see
controller/sessions.js
) - User can add movies and directors and favorite movies
- Users can only modify data they have added themselves
- Users ca add comments and rating to the movies
- User's movies populated with a virtual (see
models/user.js
) - Frontend form validation with HTML5 and jQuery Validate Plugin
You will need node and mongodb set up on your local environment.
If you do not have them, I would advise installing them with homebrew (Mac only).
- Download or clone the Github repo
- Run
yarn install
ornpm install
in the terminal to install all the dependencies - Run
yarn seed
ornode db/seeds
to seed the database - Run
node index.js
(or simplynodemon
if you have nodemon installed) to start the app.
To create this project I used the following technologies:
- HTML5
- SCSS
- Bulma
- JavaScript (ECMAScript 6)
- jQuery
- Node.js
- Express.js
- EJS
- MongoDB
- Mongoose
- BCrypt
- Gulp
- Yarn
There are few improvements that I would love to add.
- Improve the code and fixing the bugs.
- Improve the UI which is not perfect at the moment.
- Adding an Admin user in order to check and approve movies.