This was one of my first big projects. I wanted to learn more about how the backend communicates with the frontend and vice verca. In this project, I worked on creating a REST API that had basic Create, Retrieve, Update, Delete endpoints. The purpose of the project as a whole was to allow users to post their goals, whether that be daily, weekly, yearly and even lifetime goals to the site. The other users in Pergo could give feedback on the goal, encourage them, keep up with their progress resulting in a community of people who were goal driven.
I created this application using React for the frontend. In the first iteration of the application, I was just using HTML/CSS/JS. As I added more features to the frontend, I quickly realized my development was very inefficent. I would have to reuse code in multiple places, it would be hard to add additional subfeatures to previous features, and the code was way too bulky. With this, I decided that I needed to learn React to fix the problems I had with the first iteration. So for the second iteration, I used React and a lot of the problems I had before were gone. It allowed me to reuse code (components), have less bulky code, and a better overall development process.
As for the backend, I used Node with the Express framework. The purpose of this project was just for me to learn HTTP requests, and how it aids in the communication between the backend and the frontend. With this, I felt that Node would help me learn it faster, which it did. I used the MongoDB database along with Node to store posts, likes, and other information related to users. The straight forwardness of a NoSQL DB allowed me to understand how when the frontend makes a request, it goes to a backend endpoint, which "triggers" a "function" that "talks" to the database and send data back to the frontend.
Thank you for taking the time to read this! :)