From ‘Hello World’ to React-Redux
In this blog, I am going to describe my journey with Flatiron School, the challenges I have encountered, what I have learned, share advices and my accomplishments.
My journey with Flatiron
I am very proud of everything I have done during these 5 months with Flatiron School. I was part of the full stack software engineering class and managed to complete everything on time despite having a full time job as a server.
Organization was key. One thing I have learned during these 5 months is organizing my days on a tight schedule. I woke up everyday early in order to join the daily lecture, but also on the weekend so I could work on my assignments or projects. I felt like I had to keep this set schedule in order to stay focus. My parents reminded me that when I was 20 years old and in my last year of Restaurant management in France, I combined school and work in an hotel and told them that I needed this in order to be more focus. I guess 13 years later I haven’t changed!
I remember my first week at Flatiron where I struggled to set up my environment and missed a few days as I was definitely not ready for what was about to come. I also missed the introduction meeting which was full of very helpful information so it was a huge mistake on my part. My advice for new students would be to make sure that you are ready by completing as much lessons as possible before the 1st day of school, and take that 1st week very seriously as it is probably the most important.
As I felt behind at the beginning, I did not enjoy the full functionalities that Flatiron offers like the zoom room available at all time in order to share with your cohort mates. This is probably one of the best advice I can offer, spend some time in this room in order to share with others, talk about your issues, practice your projects review by talking about your code out loud. I feel fortunate that I have a very cohort group with a great cohort leader (Enoch Griffith) where everybody was helping each other at all time.
What I have learned
Well, 5 months ago, I was excited to print ‘Hello World’ in my browser. 5 months later, I was able to create a website with multiple routes using React. Here is a recap of the 5 projects I have completed:
- Cocktail List: Build a Ruby Gem that provides a Command Line Interface project with an external data source. The CLI was composed of an Object Oriented Ruby application. The application goes one level deep by allowing user to navigate through a list of cocktails starting with the letter A and get the recipes by selecting a cocktail. Find the blog here and the code here.
2. Wine Library: Create a CRUD (Create, Read, Update, Delete), MVC (Model, Views, Controller) app using Sinatra (a DSL for quickly creating web applications in Ruby). This app is a CMS (Content Management System) that allows a user to add, edit and delete their favorite wines and see other users wines. It includes all RESTful routes(Get, Post, Patch and Delete) and used Bcrypt (a password-hashing function) so that a user can safely sign in with their password being protected. See the blog here, the code here and also visit the website here.
3. California Wineries: Build a complete Ruby on Rails application that manages related data through complex forms and RESTful routes. This website allows users to add their favorite Californian wineries associated to a region, and a user can leave comments on other users wineries. The models include two
belongs_to, and two
has_many :through relationships. It includes validations so that a user cannot enter inaccurate data. Also, a user can use standard user authentication to sign in or log in as well as using their google account using omniauth. Find the blog here and the code here.
5. My MB Portfolio: For my last project, I had to build an app using react-redux, HTML, JS for the frontend and Ruby on Rails for the backend. React is a JS library that helps us to divide up our app into multiple components but doesn’t clearly specify how to keep track of the data(aka State) and how to deal with all the events(aka Actions) properly. Redux is a complimentary library to React that provides a way to easily keep the data(State) and the events(Actions). My portfolio includes static pages like my resume where you can view and download my resume, an about me page with a brief description of myself and links to my social medias and an home page. It also dynamic components so I can adda new project and render these projects. Find the blog here and the code here.
I am really happy with my journey with Flatiron School. Our teacher and cohort group was great, and I felt supported at all time. I had really challenging time but the key was take a step back and look at the code with a different approach. I have learned a lot in these five months and am excited to become a great asset to a company.