Final Project
We had our demo day and tech fair on Friday where we presented our projects to friends and family, and were welcomed to the Makers Alumni community. It was an exhausting two weeks and I'm glad it's over!! 😆
About our project
Fizzy-O is a mobile app that lets you input physio exercise reps (each time you repeat the exercise is 1 rep), and displays the daily total in a bar chart over the past seven days. This single user journey was our MVP, which we reached in two weeks.
We had some great ideas for potential apps but having real-world insight (I'd been doing physiotherapy for the duration of Makers) plus the excitement of charting data (something not covered in the course) led the team to choose Fizzy-O.
Technology
We wanted to use a new technology and we were all curious about learning React Native, as it allows you to build for iPhone and Android without choosing one or the other, it has great documentation, and it uses JavaScript which we covered during the course so not too unfamiliar. Plus it gave us exposure to React so we could also build web apps.
To learn React Native in just 2 weeks we used Expo, which lets you get coding really quickly by doing a lot of set up for you. You can write your code, run it through Expo, and see it on you mobile phone. Or using Xcode's iPhone simulator, you can view your app on the desktop so you don't have to prop your phone up all day.
Jest and Enzyme are popular for testing React and React Native, so we chose them to test our user journey and logic - it was not easy and we did a lot of manual testing without full test coverage. Code style is important for consistency and the ease to read and change your code, and for this we used the Prettier linter.
We used Trello to manage our project and used GitHub for our remote repository.
We wanted to learn how to display our data, so we used Victory Native, a charting library which would display our data as a bar graph.
We used AsyncStorage to hold data on the phone, and figured out how to pull and format this data so it could be by Victory Native. Using AsyncStorage in this way would not be scalable, due to the volume of data over time that needs to be stored on a mobile phone (no one wants their phone storage to run out) but, it would work fine for our prototype given the time-frame.
Teamwork
Being Makers, we were pretty much locked in to following the XP values and using agile methods for the project, we used Scrum in two day sprints and had a rota to share the scrum master responsibilities.
At the beginning of the project we tried mobbing to learn the framework at the same pace, get to Hello World together and, spike the first version of the app. If we worked in pairs or researched on our own, we gave informal presentations of what we'd covered to bring everyone up to speed.
Downtime and Team Building
It's the little things that matter, and taking game breaks every day helped build a team rapport and a couple of in-jokes! We played with Lego, Pictionary, and mini air hockey. We drew pictures during retros, talked about our favourite animals, and ate together.
User manuals
Our group wanted to create a safe working environment and one way we fostered this was setting out how we liked to work, what was most valuable to each of us and what would make us unhappy. Each of us gave 6 statements and recorded them for reference - this upfront structure was something our team members had learned in earlier group projects when things had gone wrong. If you're interested in this approach, take a look at Manual of Me.
Demo
You can view our cohort's group presentations and demos on the Makers Academy Facebook page.
Misc.
🐻 shout out to Ben Beare for his advice and inspiration
🥁 big thanks to Alex Norman for his help and support
🍊 whoop whoop to Germaine for his testing advice at codebar