This web application was developed using the MERN stack.
It gives users access to information about different movies,
directors, and genres. Users can sign up, update their personal
information, and create a list of their favorite movies.
The Movie Database was part of the web development course
at CareerFoundry and demonstrates me mastering the
full-stack JavaScript development.
My goal was to create a challenging full-stack project
that I can add to my professional portfolio.
Therefore, for this application, I built from scratch both
the complete server-side and client-side.
At first I created a RESTful API by using NodeJS and Express.
The API interacts with a non-relational database (MongoDB).
The HTTP methods like GET, POST, etc. are used to access the API.
For retrieving data and storing it in the database, CRUD methods are used.
The movie information is provided by the API in JSON format.
In order to test the API, I used Postman. Then I included a user authentication
and authorization code, using basic HTTP authentication and JWT authentication.
After I had completed the API, I started working on the interface, that users would need when making requests to and receiving responses from, the server-side.
This single-page-application (SPA) is responsive and developed with React and React-Redux.
It comes with different interface views, such as
> login view, registration view, profile view (here the users can update their user data and list of favorites)
> mainview/overview that shows all the complete list of all movies
> movie view, that provides data about a single movie, the user can optionally add this movie to their favorites' list
This was my most challenging project. It took my quite a while, but with the help of my great mentor, it went really well. After I changed from Terminal to MongoDB Atlas, I really made progress editing my Database on the client-side; in the beginning I had some trouble understanding how React and Redux work. This project took a lot of effort and some mentor calls.
This project took me way longer than estimated, as I was still learning how to learn. With the guidance of my tutor and mentor, I was able to get the project completed.
This project also showed me, how essential it is, to stay focussed at all levels, all the time. When I completed this project I was very happy and proud; and, to be honest, also relieved. For the future I am planning to add some more movies and further information about the directors and actors.