I work at a university in the north west of England and I have been involved with Moodle development as well ass the mobile services that the University provides. We have been working on our custom mobile apps for sometime, and I just wanted to share what we have so far.
We currently have 3 published apps on the app store and our Moodle app is separate to the university app. One main design goal was to integrate these into a single application. We took inspiration from the previous version of Airbnb's iOS app for the menu design and came up with a "door" animation similar to this http://www.onextrapixel.com/examples/awesome-airbnb-ios7-menu-animation/index.html
There are a number of different systems that we have integrated the app with to provide a lot of different functionality.
- Tribal SITS - Student Management System - Personal Information, Attendance details, Fees Due, Timetable (Scheduling)
- Talis - Library Loans, Current Fines, Reminder for Renewals, Prism Catalogue Search and Reading Lists
- Moodle - Course Materials, Forums, Reminders
- Terminal4 - Webcontent (News articles)
- Papercut - Print account credit
- Custom functionality - Notifications, Geotagging data when on campus, Geolocation based services (shuttle bus times for example)
We also have a set of other functionality planned for future releases.
The Moodle side of things was significantly influenced by Juan's current work. Our current Moodle mobile app (the one that's been published) is a rebranded version of Moodle Mobile 1.x. While our mobile app is completely rewritten, it makes use of the same web services (and a few others we have had to develop) that the official Moodle Mobile App makes use of. We have credited Juan for his incredible work on the official Moodle Mobile app without which our work simply would have been excruciatingly difficult.
Our Moodle code does not use a specific framework and we have eschewed Angular in favor of ReactJS. While the backend is reliant on Moodle Webservices, we have a custom middleware built on NodeJS and Express which provides API calls to the app and connects to the Moodle web services. We also use Adobe's Phonegap build service to actually build the app. Our notification framework is based on OneSignal's free service.
Our work was only possible because of the open source community and incredibly generous people like Juan. It was because of this that I thought that this very lengthy post was justified. If it wasn't for you guys this wouldn't happen. So thank you everyone. I am hoping that our work would also be of use to others.