Phase 5 of Flatiron School — Project

Dylan Dupasquier
6 min readApr 1, 2022

Okay, so I guess I’ll start with a bit of an intro.
I’m finishing out my intensive coding bootcamp tomorrow and moving my career to the tech field.

After working construction for years I realized that sacrificing pay for something I loved to do was absolute bullshit. I grew tired of feeling underappreciated, under-paid (or paid super well, but inconsistently), and not insured.

Instead I’d much rather opt for something that is still a passion, would still underappreciate me, and would pay and insure me accordingly, haha.

So here I am. Proud, but lacking in expansive knowledge, and job searching until my bank account can’t handle how broke I am any longer.

I guess I just wanted to share my achievement in general. This shit was hard. Like way more difficult than any traditional schooling that I’ve ever undergone. I learned how to fully create from scratch a front end, a back end, and how to make an application that would be user friendly. All within 5 months.

I made it through. And I paid like 16k to do it… Not that I’m one of the God fearing variety, but I took a mass leap of faith and I hope that it pans out. (Otherwise I’m fucked)

So here it is: My phase 5 project

https://dashboard.heroku.com/apps — (deploy rename pending)

PHASE 5 CSS/REACT LIBRARY

So first off I had to build out a back-end. Flatiron has us set up to use Ruby on Rails for our backends so I responded accordingly and make my back-end with RonR. Most of the build-out for the back-end was pretty standard to what I’ve learned within the bootcamp. But then it came to situations where it would be much better, if not crucial, to have the back-end handle more than I had asked it to in the past.
Not that Flatiron didn’t teach the concepts, but they didn’t stress it. And thus my novice brain decided that it was less important.
I ended up having to figure out an implement custom routes in rails. Which wasn’t difficult, but an interesting learning experience. Pulling fav info based on the current user’s fav info (dependent on session) in the back-end, rather than fetching for ALL fav info (or component or whatever) in the front end and filtering through it. I feel like that alone helped to speed up my app and make it a lot more clean since I didn’t have to use logic in the front-end to determine what was going to be rendered.

I ended up using custom routes in almost all of my major components and I don’t now that I could have fenagled it without the use of them.
Rails is magic, which is scary and I don’t like it. It does basically everything for you if you’ve given it the right environment to flourish. Which leaves me worried that I don’t have enough control and that it’s going to go buck nutty and destroy everything that I built. But without it there’s no way, at my current experience level, that I could have achieved what I did.

Here’s the front page of my site. It’s quite bare-bones at the moment but I intend to build on it quite a lot. Every time I create a component that I’m proud of it’ll be submitted to this site so other coders (likely mostly juniors and bootcampers) can reuse my code to create more simple and manageable applications.

From there you can log in via the pop-out menu as well as navigate the available components. On login it creates a session that allows you to stay singed in upon revisiting of the site. This session also carries information for your user, your favorites, and the components that you’ve contributed.
Using BCrypt your passwords will be encrypted so your info is safe here. (Though if Amazon or Google or whatever hires me I’ll be directly associated with something that sells your information without your consent, so sorry for that. Paychecks and such.)

Upon login you’ll be directed to the “edit profile” section where you’ll be asking but not required to put in the rest of your information such as your first and last name, phone number, and profile image.

Look at that beautiful mug. Who wouldn’t want to provide something like that to a site that doesn’t even display it because they didn’t have time to add a comment/chat feature? If anything, just do it for you. Because fun and stuff.

Further navigation through the sire will take you pages specific to each type of component such as buttons, modals, segments, forms, and more to come.
From there you can click on your hand-dandy “code found here” button and see a list of all the components associated with that component type and view the HTML/JSX and CSS for each piece.

Also you can add or remove favorites to associate them to your profile so you can reference them later if you want to reuse them.

If you create a profile as a new user, or a user that isn’t approved as a contributor to the site…

…you can use your “edit profile” page to request to become a contributor to the site. Upon your request I can then see that request from my “Admin” login and approve or decline your request (red border in image). If you’ve been approved then a link will appear in your nav which will allow you access to a page the lets you submit a form that should contain your component name, HTML/JSX, and your CSS. You then submit that and it also appears on my Admin page where I can review it and then approve or deny your submission (blue border in image).

Once your submission is approved, the code for it will be added to the database and I will place it accordingly onto the site. The naming convention in the component submit page are specific because the code will rendered to each category, dependent on the name of each approved component.

So I guess that’s kind of it. Or at least I’m too tired to explain more, given it’s 1:30am and I don’t want to look at a computer screen anymore.

K THNX

--

--

Dylan Dupasquier

I’m currently in school for software development. Oddly enough I got tired of inconsistent pay and no health insurance in the construction field.