After six months of mostly hard work, I have managed to deploy mobile.socialxyz v. 1.2.9 to both the Apple Store for iOS and Google Play Store for Android. Overall, the v1 feature set is what I was aiming for and the app comes flush with push notifications, gradebook, quizzes, discussion boards, blogging and social networking.
With such a short timeframe to turnaround 2 native apps for iphone and android, I went with the React Native programming language using expo as my packaging software. In short, react native code is written in javascript, which made me fall in love with the language and its capabilities. I haven’t relied so much on javascript in over a decade, so it is fantastic to find such utility in the language. Expo was also a tremendous value. Expo is a packaging framework, that provides many dependencies and linking needed to deploy react native apps across iOS and Android. In short, it helped speed up testing on physical iPhone and Android devices. This, in turn, sped up delivery to Google Play and Apple stores.
The coding effort was pretty substantial and involved client-side app development along with server-side api development. The below table tracks the file count and lines of code per category.
These numbers work out to around 11 months of effort for a team of 5, according to Mike’s Basic COCOMO Calculator. Not bad for a 1-person team in 6 months.
Below are some screenshots of the app, including assignments / gradebook, discussion board and quality analyzer and messaging screens.