Solution
Based on the scope of the needed features, the envisioned solution was an additional mobile app that integrates into the existing ARORA project. The mentorship app will serve as a companion for the existing ARORA app, connecting through the ARORA server and allowing the mentorship program to interact with the resources and users already present in the ARORA project. It will provide the following major features:
Anonymous Question/Answer System
Chat and Emailing
Appointment Scheduling
Mood Report Display
Mentor Authentication
Database Management
The mentorship app, however, will not function as a standalone product. To interact with the ARORA server and by extension the associated youth mental health app, additional minor modules will need to be developed for the other two portions of the project. The youth app will need an add-in that allows users to send anonymous questions into the system, which the client has chosen to develop themselves, and the server itself will need some extra backend to handle transferring the data it already stores on things like mentee information and mood reports to the mentorship app.
This solution will meet the new needs of the ARORA project functionally and provide a base for in order to later be connected to the server with the existing ARORA app. Creating an additional app to add to the system makes the most sense, as the functionality required would unnecessarily bloat the existing youth mental health app and essentially result in two apps worth of functionality being crammed into one. Sectioning the features out into separate apps based on which part of the program’s user base, mentors or mentees, will be using those features is the most sensible and efficient way to implement the new systems. It also contributes to the greater need of making the ARORA program a fully-featured software suite that can be offered to other tribes once it is complete. The functionality of the additional app allows for programs like the Hopi mentorship program to utilize the ARORA project and can be applied to adjacent situations as well, like a mental health center that does not necessarily have a dedicated mentorship program but still wants to field anonymous questions from citizens and track mood reports for regular visitors to provide better care.
Design Architecture
View a produced product screenshot walkthrough here.
A front end architecture diagram, visualizing how users are able to navigate through the app's various UI screens.
A back end architecture diagram, visualizing how data is pulled and retrieved from the database in order to be displayed to the user.
Technologies & Tools
React Native Framework
React Native seems to be the clear choice for a framework. It is written in JavaScript, one of the most popular website and app building frameworks. This means that finding developers to continue work on the ARORA app after its initial release will be relatively easy. It also provides support for both the required platforms, as well as the optional web support.Expo Framework Platform
After testing, Expo proved to have excellent documentation that worked well with our project. It allowed simple deployment for both testing and final product delivery.ASYNC Storage
Due to demoing, it was determined that my ASYNC storage is the most easy to use among other database canidates. Although original databases we had in mind were different, the ASYNC storage package was able to provide the simple functionality we needed.Github
Github was chosen to house our code repo as it is the most widely known collaborative code project platform. It allows the team to utlizie its web app system to easily update and pull code changes, and therefore enables the team to simultaneously work on different parts of the project's code.
Schedule
Team Shining Sky is currently in a testing and refinement phase. We are ensuring the product is working without issue, as well as updating functionality based on User testing.