This last week was very different to all of the previous ones. The structured teaching phase is over at Makers Academy. Now we are in the final project phase. As I write this post, I can’t believe that there are only five days left to go. Four really – Friday will be more of a celebration.
I’ve ended up in a team very different to the one I thought I’d be working on but progress has been promising so far. The simplest, snappiest explanation of what we’re working on can be described as ‘Snapchat meets Groupon’. Businesses post special offers to their followers, who upon deciding to open the unlabelled deal, will have anything from 30 seconds to 2 minutes to decide whether or not they want to purchase what’s on offer. One of the main reasons I decided to join this project team was because of the breadth of skills we would have to put into practice to make it a success – we’d need to be able to have intuitive UX flows for both customer and business users, we’d need to implement a timing feature with pages becoming disabled and inaccessible once time runs out, and we’d also need to make it look appealing with a responsive design because, ultimately, this idea is really conceived for use as a mobile app. So far, I’ve not been disappointed with how far we have had to stretch the limits of our technical know-how.
The advantage of being in a team of five is that there are a few options with regards to who you pair with and the variety of skills you can draw upon, as well as the opportunity to work alone when you feel like it. This was the case for me on Monday when I decided to incorporate Stripe into our app, so that users could easily click through to purchase deals they liked. During the previous week, Hemang and I had set up the basic page for viewing the different offers. Given my practice a couple of weeks ago, it wasn’t so difficult having a Stripe purchase button on each page, but I had a few struggles with regards to changing the currency displayed on the Stripe purchase iframe, as well as making each form automatically update to charge the relevant price. Turns out the solution was simple, just not well-documented. All it took was passing in extra data attributes into the purchase button code.
Over the next couple of days, I then paired with Michael on implementing a categories feature. Here businesses would attach themselves to a category, such as ‘Sports & Outdoors’ or ‘Electronics & Computing’ and users would follow the categories they were interested in, hence only being exposed to particular relevant deals. We got pretty frustrated working out the intricacies of radio buttons and checkboxes in Rails, and how to identify them in Capybara, but with some help from Alex we eventually got there. Another thing I worked on was sorting out where you a user was redirected to after either a successful or unsuccessful sign up as a customer or as a business. Whilst this might sound straightforward, given that the team had opted to use Devise for user account management, this was much harder than I thought it would be, and involved me using other controllers to overwrite Devise’s methods. I also spent some time working through the list of bugs that had been posted on our Trello board. This was a very valuable task since not only was I helping to fix the app, I was getting a feel for other areas of the code base that I’d not yet had a chance to work on. I started to really see how our app was fitting together.
I remember a five weeks ago, attending the August cohort graduation, and worrying about whether I’d be able to contribute meaningfully to a final project team when our time came around. Even on Monday of last week, I still had my doubts. Now it’s Sunday night and going into the final week, I’m surprised by what I’ve been able to do, and excited for what’s to come.