Te Tuhi Disability Training Cafe platform for Trainees
Damsels in Development consist of five Computer Science students that have taken papers such as CS230, CS335, and CS345. These papers have given us the proper knowledge and skills in order to develop Inkā.
View Demo
Table of Contents
Frontend Team
- Saacha Moyo - Frontend and UI/UX Developer/Team Leader
Full Stack Team
- Istefat Sawda - Full Stack Developer
- Zainab Shehzad - Full Stack Developer
Backend Team
- Natania Thomas - Security Engineer/Project Manager
- Eisen Belleza - Backend Developer
Our application, Inkā, serves as a one-stop shop for the training programs developed by the School of Psychology at The University of Auckland, as well as other partners (Rescare Homes Trust). It functions as a platform for monitoring cafe trainee progress and fostering personalized learning experiences for trainees within the cafe environment.
Jira Software was our primary project management tool, and we utilised Click up to plan out the project timeline. Additionally, our client meetings were transcripted by Eisen Belleza which was stored in our Client Meeting Logs. We kept track of our client/ group meeting notes, documentations and reports through the same shared google drive. Our group meetings and brainstorming sessions were held on our Discord server and group chat.
version version 1.0.0+1
(macOS) version version 15.3
(Windows) version Iguana | 2023.2.1
(macOS)version 1.15.2
version 1.82.2
(for Cocoapods) version 3.3.0
To use Inkā, follow these steps in order to set it up.
Please make sure that you have the following software listed below installed in your environment before cloning our repository.
Required Software for both
- Flutter
- Amplify Client
- Visual Studio Code
- Simulator
Follow this documentation and choose either macOS or Windows depending on your OS and then choose FlutterIOS to set it up
Run the following command line in terminal to resolve any dependencies
flutter pub get
Run the following command line in terminal to verify installation of all components.
flutter doctor
Follow this documentation and choose either macOS or Windows depending on your OS
Follow this documentation and choose either macOS or Windows depending on your OS
For Mac Users
- Cocoapods
- XCode (you can download this from the AppStore)
- Ruby
For Windows Users
- Android Studio
- Cocoapods
- Put the following code in the command line
sudo gem install cocoapods
- Follow the rest of the commands in this documentation under the Install Cocoapods heading
- Put the following code in the command line
- XCode installation
- Download and install XCode from the app store
- To configure, run the following command line
sudo sh -c 'xcode-select -s /Applications/Xcode.app/Contents/Developer && xcodebuild -runFirstLaunch'
- Then sign the Xcode license
sudo xcodebuild -license
- To run your Flutter app, follow the steps in this documentation under Configure you iOS simulator heading
- Ruby installation
- The default Ruby installation can be used for MacOS
- Make sure to install Homebrew in not already installed
- Put the following code in the command line
brew install ruby
- Follow the rest of the commands in this documentation
Android Studio installation:
Follow the documentation for any questions outside of the given installation guide below.
- Update the version in the this line inside the file (android > settings.gradle)
id "org.jetbrains.kotlin.android" version "1.8.10"
- The version will be dependent on what is the latest. However, the terminal will indicate which version you should be running if this version is no longer compatible. 1.8.10 was the current version during this time.
- Update the sdkVersion in this line inside the file (android > app > build.gradle)
compileSdkVersion 34
minSdkVersion 24
- The version will be dependent on what is the latest. However, the terminal will indicate which version you should be running if this version is no longer compatible. 24 and 34 were the current version during this time.
- Check to make sure that the file path for the Android Emulator is correct in your VSC settings.
- To see file path in Android Studio (Settings > Languages and Frameworks > Android SDK). Android SDK Location is shown at the very top.
- To see file path in VSC (Settings > type in ‘android’ in the search bar). Emulator Path is shown at the third line.
- Emulator Path should be the file path as shown in the Android Studio. If the path is incorrect, copy and paste the file path from Android Studio into VSC.
After you have installed and configured the aforementioned services, simply clone our repository either in a terminal or on GitHub itself.
Once you have a clone of our repository, open up Visual Studio Code and open the extracted file.
If there is no “Models” folder inside /lib, use this command line to generate data models inside your Flutter project:
amplify codegen models
To pull and connect the Amplify project into your Flutter project, use this command line:
amplify pull [generated-amplify-name]
You can copy-paste this command line from Amplify Studio itself at the dashboard on the website as the generated-amplify-name is unique but is not human-friendly to remember.
Make sure that the amplify_config file is up to date as it can cause errors with the project when running it.
git clone https://github.com/uoa-compsci399-s1-2024/capstone-project-2024-s1-team-13
We have included an AWS Setup document to help with setting up the project on AWS. Please refer to this document when initialising a new Amplify project. We have included screenshots inside the document as a reference if you are unable to proceed to the next instruction. Please note that this AWS Setup document is purely a reference to the way that we have set up our Amplify Studio and the components that are connected to AWS - please refer above to any installation requirements.
The demo highlights the key features of the Inkā application in a succinct manner.
Inside the backend folder in Amplify, all of the functions are empty since our backend functions are included on the frontend screens. We were unable to connect Amplify and Lambda.
For the data models, we are not making use of the CurrTask table.
There is a summary of the core functionalities of the app below:
Trainee Evaluation and Data Manipulation:
- Support Workers: Can manipulate existing data (trainee and task notes) and evaluate trainee progress.
- Admins: Have broader access to manipulate all data, including trainee progress, but cannot evaluate trainees.
- Training Modules: Accessible without login, allowing trainees to go through task/recipe steps using cue cards and a text-to-speech option.
We have provided a thorough explanation of the test cases made. Below is the link for the Inkā Test Case Documentation:
Logging:
If any changes are made to the system e.g. adding/editing/deleting/archiving, it would be handy for the cafe to have a history log, showing exactly what the changes were, in the case that something needed to be reviewed. If the user requests a log report, this can be sent directly to an email connected to the account.
Exporting:
Based on the trainee’s sessions and their progress, if the cafe would like to download their work in either pdf or excel format, they would have this option. Another option could be to allow them to view the sessions in a monthly format to help the support workers oversee the training in a different and more consolidated way.
Distribution of the application:
During the duration of the project there were conversations about how this application could be used in different countries. It would be beneficial for the cafe, if we could implement something that ensured that the different cafes could have different applications with no information from the separate cafes, for example, they would start with a whole new application and build that from the ground up.
Customisation:
We could include a customisation feature where If the clients would like to change the theme, or customize the application specific to the trainee , then it would be saved within the specific trainee’s profile.
Extra Aesthetics:
- Distinction in background for support and admin
- An information button for new users who are unsure of the functionalities
- Auto correct function
- Time out the session if exceeding a long period of time or a message pop up asking if a session continuance is required - determine whether there needs to be a session limit (something the cafe can configure)
- To maximise screen space, we can move the navigation bar at the bottom and create a burger menu for this
- In the event that the app crashes, the application should retain the information, like a cache memory stored locally on the iPad and this should be loaded once the app restarts
- Should be more obvious which trainee is being evaluated or trained - with the name at the top of the screen
We want to give a shout out to Osama our tutor for the guidance and reassurance, to Anna for encouraging us and getting just as excited as us about the project.
We appreciate the Amplify Documentation pages, YouTube videos and other documentation which helped the team in troubleshooting and learning the ins and outs of parts of the project
We want to thank the clients for giving us an impactful real world experience and for the feedback they provided which helped us grow both professionally and personally.