Flatiron School Phase 4 Final Project

Nate McGraw
3 min readJan 28, 2022

For my phase 4 project, I decided(possibly prematurely) to add some extra challenge and make as realistic of a project as possible. My best friend is an artist and has requested that once I graduate, I make a website for her, so I got a start on that with this project.

In the interest of getting the most experience that I could, I opted to not use the Flatiron supplied template and instead used create-react-app to create the frontend and rails create - -api to make the backend. This presented more challenges than I had initially suspected and I had to do quite a bit of research on CORS as well as cookies to get both projects communicating properly.

What the user sees when initially opening the page on a large viewport, along with the overlay that appears when the user mouses over an art piece.

When a user opens the page, they are greeted with all of the art pieces that have been uploaded in the order of when they were uploaded. When the user mouses over an art piece, an overlay displays that shows the title, whether or not the art piece is available for sale and the price. After signing in or registering, the Sign Up and Sign In links are replaced by a short greeting as well as an upload link and a sign out link.

Registration Form
Sign In Form
After signing in, the navbar is updated with privileged links

The frontend makes heavy use of react-bootstrap and the sign in and register forms are displayed in an OffCanvas element, avoiding any need to refresh the page. Using react-bootstrap also enables me to make the site more mobile friendly and design for traditional computer, as well as tablets, phones and other mobile devices.

Mobile friendly layout on a simulated iPhone 12 using google chrome’s dev tools

When the user selects an art, they are brought to a display page and if the user is logged in, there are two buttons displayed, one to edit the art and one to delete the page.

Art display while signed in

This project has been an excellent exercise and I learned a lot from it. I may not be ready for a senior full stack job yet, but I feel like I am getting a grasp on concepts and practices that will at least get me on the fast track there!

--

--

Nate McGraw

Software Engineering student at Flatiron School by night, Help Desk Analyst by day