- Apply technologies of the MERN stack. (Redux/Context is not mandatory.)
- Demonstrate an overall grasp of Web development fundamentals.
- Talk about your code during the code review.
Push your code to a public repository on your GitHub account and send its URL via email. We'll check the code quality and reach out to schedule your code review.
You are the CTO of a small disruptive startup in stealth mode with a single objective: to take down IMDB. You're hoping that your first technology decision will be an impactful one: your application will use JavaScript everywhere! JavaScript is on the rise, so what can go wrong?
Your goal is to create your prototype: a simple full-stack CRUD application for movies. To do this, you need to:
- Use NodeJS and ExpressJS. (BONUS points for following REST naming conventions in your URLs)
- Use your choice of database. (BONUS points for using MongoDB)
- Use ReactJS in the frontend
- Apply basic CSS styling. (No page should look unstyled. Feel free to use a CSS component library like Bootstrap or Materialize or any other.)
- Show validation feedback when a form is submitted incorrectly.
Your application should have the following features:
- You should have registered users:
- they will use email and password to authenticate themselves,
- they will have to input their full name when signing in.
- BONUS - feel free to use any of the social strategies to authenticate users.
- Users should be able to add/create new movies.
- Users should be able to see the list of 20 most recent movies. (BONUS points for implementing pagination)
- Users should be able to see the details page of each movie.
- Users should be able to update existing movies.
- Users should be able to delete movies.
To summarize:
The schema for a user should include:
- full name
- password
The schema for a movie should include:
- title
- poster image URL (BONUS points for allowing image file uploads)
- director
- release date
- score (1 to 10)
- plot description
Happy coding!
The Ironhack Team ❤️