Recently realized that after all this time, I still haven’t posted anything about my internship! It doesn’t feel like 2.5 months since I stepped into the office on the first day, but strangely it feels like forever since I last went to school (lol doesn’t make sense, I know).
Anyway, I’m interning at a startup called gametize. Every time I tell someone that, the next question is “oh cool, do you make games?” but no! It’s a tech and gamification consulting(?) company which basically has a mobile+web platform for creating and playing games; each game is made of individual tasks which are called ‘challenges’, like mcq quizzes and fixed-answer questions and upload-a-photo tasks. Most games on the ^ website are free but the company earns money through licensing the platform to other companies and customizing stuff for them.
My main internship project (with Vivek) is developing a web app to replace the current gametize.com website, cos it’s built with Java currently and is very complicated and slower. The new web app is also supposed to be more streamlined with the mobile apps in terms of both UI and how it gets data- through API calls like the mobile apps, instead of accessing the database and processing the data directly (which is why it’s complicated and slow).
We were deciding between react (js library) and angular (js framework) initially, and decided to go with react. Vivek and I used ionic for our sutd app previously, which uses angular, so it was interesting to see the differences between the 2. Angular, being a framework, is much more prescriptive and rigid, but using react means we have to make more decisions on how to do stuff. One article I read summed it up as “angular = putting js into html, while react = putting html into js” which is really apt haha.
When we started on the web app in week 2 we thought we could get it done in like 3 weeks, but we were so wrong LOL. We got most of the main functionality up within the first few weeks but there’s forever still lots of “small stuff” remaining. So we’re still working on it now, and somehow as we code we keep finding even more small stuff so our “to-do” board on trello is never empty D: sigh
Summary of the main things we’ve been doing:
- (first 2 weeks) familiarize ourselves with the main gametize codebase, research on react, decide on using react
- decide on file organization and app routing
- make all the pages
- styling + making the pages responsive
- writing tests (mostly done by vivek while I was on holiday heh)
- implement redux
- navigation (sidebar + topbar)
We wanted to keep the app components as simple as possible so we wrote our own router instead of using react-router and refused to use bootstrap hahaha. I think it’s good cos we get to learn how things work rather than just plug in unnecessarily big modules!
The best part of internship is that my official working hours is 11am-7pm!! And actually nobody cares so if I wake up late I just go and leave later, or if I’m going out for dinner I start work earlier. This makes a lot of sense cos I don’t think I’ll be productive if I have to start work at like 9am, and the flexibility is v nice! The office is tiny (smaller than my house) and feels kinda cramped sometimes but overall it’s still great cos 1. we take off our shoes outside (also, work attire is tshirt and jeans) 2. there’s a pantry+snacks shelf and we get to go company-sponsored grocery shopping once in a while, and 3. there’s a “play room” with beanbags where we can chill anytime and play mario kart/ limpeh says/ other random games :D
5 more weeks of internship to go!