The Firehose Project – WEEK 10 / Custom Stripe Payments, Instagram API, and the Capital One Software Engineer Summit Final Round

As I’m developing the website for my job right now, I’m constantly hitting walls and spending hours and hours trying to figure out how to implement one little feature. One feature I had a lot of trouble this week was implementing a custom Stripe payment form.

Custom Stripe Form

Essentially what I wanted to do was have a form where a user could type in the amount of money he/she wanted to pay to the website’s virtual currency system and have Stripe process it.

For example, I wanted it so that a user could manually type in $20 into a form box, which would automatically transfer into a Stripe payment of $20. I looked at the documentation and I really didn’t know where to start.

After 10 hours of work, I finally got it working (I will hopefully post in the future how I did it). Here is my super simplistic form page:

Screen Shot 2015-10-22 at 10.00.46 PM

When I click on the button, and for example if I wanted to add $10,540, this is what will show (for some reason mine is in Japanese…)

Screen Shot 2015-10-22 at 10.02.05 PM

After the payment processes, a page displays to confirm that the payment went through:

Screen Shot 2015-10-22 at 10.03.19 PM

Now if I go back to my profile page, the balance is successfully added.

Screen Shot 2015-10-22 at 10.03.32 PM

I was super excited when I got this to work.

Capital One Instagram App

Another thing I’ve been working on is this weird app that displays the 20 latest Instagram posts with #capitalone. It also displays the number of likes each post has, the user that posted it and their information such as number of followers, number of people they follow, etc.

It also implements a super simple algorithm that attempts to determine whether the post is positive or negative towards Capital One.

The approach I took can be seen here: Capital One Instragram App About Page.

The reason I’m building this app is for the Software Engineer Summit hosted by Capital One. It’s highly competitive with applicants from all over the country, but luckily I was chosen for the final round. Although my app is probably far too simple for it to be accepted for the final selection, if I somehow am chosen, I’ll get to go to their 1 week software engineer summit which would be pretty awesome.

Being a student and enrolling a web development bootcamp can give you a lot of perks. Mainly in the fact that you will be way ahead of most CS majors in practical skills. So if there are any CS undergrads wondering if enrolling in a bootcamp is worth it, I would highly recommend it (although balancing school work is incredibly challenging).

Advertisements

The Firehose Project – WEEK 9 / My First Hackathon and getting job offers

This weekend I went over to a hackathon that was taking place at my school. I didn’t know exactly what to expect, but I decided to go anyways.

The atmosphere was vibrant, full of geeks and nerds. At first glance I knew this was going to be something exciting.

Within a few minutes, I met a business-guy who had a cool idea, so I decided to team up with him. We then had two more developers, one a node.js and another an android developer.

At first I was unsure how my skills matched with the other developer’s, but after talking with them I realized I wasn’t too far behind. They had more knowledge about implementing APIs and the theoretical computer science side of everything, but regarding web development, it seemed that I would be able to contribute the most.

Unfortunately, because we wanted to use a certain API and it was easier implementing it in node.js, we decided to use that instead of rails.

We decided on creating a web service that matches high school students with college mentors that provide consultation regarding school fit, guidance through the admission process, and other necessary mentoring.

Since we were building with a node back end, I was in charge of the front end development.

We had 24 hours to hack together something cool. We had an exceptional team leader (the business guy) and we somehow knew we were going to do well.

So for 24 hours, our team created simple mock ups of the service. My responsibility was to make the mock up look nice and to constantly improve the user experience/interface.

Although we couldn’t get much back end functionality running, after 24 hours, this is what I came up with (https://guru.mybluemix.net) :

Screen Shot 2015-10-12 at 9.33.58 AMScreen Shot 2015-10-12 at 9.33.44 AM

Screen Shot 2015-10-12 at 9.35.41 AM

We also had a few other pages, but basically this is the kind of feel I went for.

After the 24 hours was up, it was time to pitch our ideas. Judges came around while we frantically tried to pitch our ideas. Some loved our idea, some were not so interested.

I received quite a few compliments regarding the visuals on the website, which I was quite happy about since I had designed the whole thing.

So after the whole event was over, we ended up with three prizes: “The best use of IBM Bluemix Technology Award”, “The best use of Interactive Intelligence Award”, and the “Most Start-up worthy Award”.

Our team also ended up receiving job offers from a pretty famous company.

The whole experience was a blast. Not only because of the rewards, but because of the people I met there and the exposure to so many different technologies at the event. It also made me realize the possibilities of coding and how much The Firehose Project has really changed the opportunities that come to me. I am really grateful of the opportunities I am receiving because of what I am learning at The Firehose Project. It is really exciting and I can’t wait for more.

The Firehose Project – WEEK 8 / Difficulties of developing a website from scratch

It has been a week since I started my job as a web developer at a local start up. It has been a lot of work, but I am learning a lot through the process. A lot of the work is looking back through the material at The Firehose Project and applying them in different ways. Some of the work consists of trying to figure out solutions to problems I haven’t encountered in the courses at The Firehose Project.

Screen Shot 2015-10-06 at 5.52.41 PM

This is how the website looks right now. Playing around with the front end took some time, mostly because I didn’t know how to make the website look nice.
I ended up looking at other websites and trying to mimic their design.

Difficulties of developing a website from scratch

One major difficulty was sketching out what the website actually needed. This involved talking with the owners and making sure that what I had in mind was also what they had in mind.

I also needed to figure out how to configure the backend to achieve the website’s goals. This meant drawing things out and figuring out how I would go about it. I’m not finished with this yet, but I am getting closer.

Searching for new solutions

I often times have to search for solutions for problems I have never encountered before. Luckily through this course I have obtained the necessary googling skills to find the optimal solution.

Figuring out how to display a sortable grid

Also the great thing about Ruby on Rails is that often times there are gems to solve problems. With a quick google search, I found wice-grid,and used that to make my grid on the front page. I could have written the grid by myself, but using the gem was much easier. It also makes the grids sortable which is super convenient.

4 Weeks Left

Sadly, I only have 4 weeks left in The Firehose Project. Every day I try to absorb as much as I can while I am enrolled. Again, my mentors in this program have really guided me through the next steps in my journey.

The Firehose Project – WEEK 7 / Landing my first Web Development Job

7 weeks into the bootcamp, I landed my first web development job. I saw a posting by a local business looking for a web developer who would make a website for them that would become the core of their business. I immediately sent them a message saying that I would love to join their team.

I met up with them, they saw that I was super passionate and somewhat knowledgable about web development, and they seemed to like me.

On the other hand, they were also talking to other web developers with experience so I honestly didn’t think I would get the job. Since this website was going to be the core for their business, I thought they would want to hire someone more experienced than me.

But to my surprise, I got an email from them the next day saying that they want me in their team. So just like that, I got my first web development job.

Applying what I learned to the job

My job is to make a website fully from scratch, implementing user authentication, payment systems, and a beautiful user interface along with other somewhat complex functionality.

This is exactly what we learn at The Firehose Project, so I told them that I’d be developing the website with Ruby on Rails.

Really Helpful Mentors

They were concerned about the security of the website as it would have payment processing. I didn’t have any idea if there were security issues regarding this (I assumed that RoR and Devise / other payments gems would take care of this) but just take make sure I asked Ken, the co-founder of The Firehose Project, for some advice.

He immediately replied to me giving me details about the options I have and also about PCI compliance (Payment Card Industry Data Security Standard). I also consulted my mentor about how I would go about developing this website and he pointed out some things to be careful regarding security.

Other than that, a lot of the site functionality consists of the things we learned at The Firehose Project. This just tells you how practical the things taught in the courses here are.

Some things I don’t know how to implement yet. Fortunately, The Firehose Project teaches you how to research ways to implement features even if you don’t have any idea how.

I’m super excited about this job and how much The Firehose Project has improved my skills. I still have a few more weeks to go, and I still haven’t finished Flixter (Udemy clone app) or the Chess App. On top of that I will be constantly bombarded with schoolwork, midterms, etc. It is going to be long nights and a lot of hard work, but hopefully I’ll be able to make it out alive and learn a ton from this experience.