The final project for the Flatiron School Full Stack Web Development program. As the culmination of all of the work that I have done so far, not only requires the most work, but also the most knowledge to complete. Like the JS project, I encountered many bumps in the road. Thanks to my work for my JavaScript project, I have a much better understanding of how frontend applications work and how the backend via Rails API connects to the frontend.
When I was working on my JavaScript project, it was incredibly annoying having to reload the application page every time I made a change in my code. React has made this easier by automatically updating the web application. It makes it so much easier to see any bugs that occur in my code as well as allowing me to see if the changes I make to debug the code actually work. This was particularly helpful with my code for the forms for both the albums and reviews. The reviews form initially had trouble submitting the information from the form. Until I solved the issue this bug typically arose from either incorrect code from my actions component, or simply misnaming components/variables when trying to import the components needed.
The most difficult part of this project was definitely working with Redux. Coding the frontend in React was not too complicated; at least, not until I had to start incorporating Redux into my code so that I could begin pulling data from the backend's API to display on the frontend. Part of this struggle came from understanding state and props, differentiating between the 2, and how I can manipulate states in order to display the data in the way I want.
While my project is complete in terms of its functionality, in terms of its presentation it is completely barebones and I am planning on working on it to make it much neater and appealing to look at for the user. Other functions that I plan on implementing are One of my next steps as well is the implementation of a user using JavaScript Web Tokens in order to make it a bit closer to a realistic web application that someone would want to use.
This screenshot is before I added Albums as its own object that has a has_many - belongs_to relationship with Reviews.

This screenshot is after adding all of the relevant files and code that incorporate Albums as its own class and has its own routing separate from Reviews.

If you would like to view my repositories for this project:
https://github.com/adarvin14/music-reviewer-client
https://github.com/adarvin14/music-reviewer-api
Top comments (0)