Work Experience: Fun and Games- 4 mins
For the last two weeks of school term, I took on Joe for some work experience. As punishment I made him help me write this blog post.
We decided to take on a project related to our shared interest of cycling and, hopefully, produce something fun for our cycling club to use. Joe’s words are in italics.
Our initial idea was to create something to use for the Wadebridge Coasters cycling club (as we are both passionate about cycling) and also use the strava API to create a website that will add even more fun into the club.
I proposed the idea to create an automated version of the club’s “challenges” page, which uses popular local Strava segments and has top-3 leaderboards for each. Joe agreed to the project so we set about planning how it would work.
We came about the idea of making a challenges page that shows the rankings of people in the club up climbs and loops around the local area. These challenges update daily and we hoped would bring a fun ‘get up and go ride’ addition to the club.
Over the two weeks the notebook would take a bit of a battering. Everything from planning, to designs, to “to do” lists and problems encountered. We made a habit of writing down as much as we could to help keep momentum during development.
Firstly Joe was tasked with implementing the HTML for the pages we designed. Using Bootstrap provided a good foundation and allowed Joe to lay out all the pages before we needed to worry about sourcing any data. It also helped to guide the design as we progressed.
Once this step was completed we used a template-first approach to creating our backend application. Firstly identifying the dynamic data in our design, checking it against Strava’s API documentation.
One of the main problems we came across was having personal profiles, this idea was made redundant as we did not have all of the access that we wanted and could not get a lot of data.
Strava have recently reduced the available data from their JSON APIs so we were unable to implement some features, such as linking from the leaderboards to club member’s profiles, or building our own profile pages with compiled ‘best results’ built from the challenge leaderboards.
This aside we worked hard to achieve all of our goals set out at the start and it turned out to work fully and I am very happy with the final result.
Very refreshing to create someting from scratch of our own volition and release it within two weeks. It’s a shame we had to cut some features but we adapted to the roadblocks well and ended up with an app to be proud of.
I’m sure there will be further development on the project and we’ll dust off the feature wishlist in future.
If I did it again things I would not change much as I really enjoyed it! But if I had to change something it would probably be making more notes on paper of what I wanted to do before starting the task as I started doing this before the end and it was very beneficial instead of spamming stuff into the code until it worked.
We spent some time on the final day putting together a retrospective of the project as an example of working in an agile fashion, although there is no ‘next sprint’ we went through the process of understanding where the strengths and weaknesses of our team are and where we would take the project next.
It’s been a very enjoyble two weeks and great to see Joe’s progress even in such a short time. Finally, some parting words from Joe:
From this experience I have learnt a lot. The main thing I will take from this is the skills of some more advanced programming features. And also how to manage time efficiently. But I have also learnt other important things like working in an office environment and how different jobs work.
I have definitely taken a lot from this and I have a clearer picture of what I want to do when I leave school and go to college/university. I would like to thank Pete for taking me on and giving me a very intuitive and hands on experience and providing a genuine work experience
You can see our challenges application at https://club-leaderboard.herokuapp.com