Team Name
Team Corps Catch
Timeline
Fall 2022 – Spring 2023
Students
- Kevin Le
- Kouassi Brou
- Oluwaseetofunmi Komolafe
- Bijan Saud
- Jianliang Liu
Sponsor
US Army Corps
Abstract
Our mobile application Corps Catch is an educational application that encourages and challenges guests at various trails at Canton Lake in Oklahoma by asking trivial questions based on what the trail guide has stated throughout the trail. There are multiple questions scattered around each trail, and each question will pop up on the app when near. If you get all the questions right on the trail you are awarded the corp coin that is associated with the trial you are currently on.
Background
The idea behind this app is to bring friends and families to the great outdoors. With the recent virus passing, people have been accustomed to staying indoors and watching television, or playing video games. With this app, people will have the chance to have fun with family and friends while gaining corp coins at the same time. This app also promotes friendly competition from the trivia aspect, as no one wants to be the one that gets the question wrong.
Throughout each trial, the tour guide will give various facts that may or may not be asked on the app. It is the user’s responsibility to remember the facts to answer the questions correctly to obtain the Corp Coin at the end of the trial. Also, as the user goes along the trail the questions get progressively harder and the time limit gets quicker. This will be implemented to ensure that older users do not get bored, and can motivate the younger users to be more attentive to the tour guide.
Project Requirements
Key Requirements include:
- Users will be able to download the application from the app store / Google play store
- The application will track user’s location
- Questions will pop up when the user is at an appropriate location
- The user will obtain the trail’s corp coin if the user gets all questions correct on the trail
- The difficulty of questions will be based on user’s age
- Three levels of difficulty for children, teens, and adults
- Users can view coins obtained through the collection page
- The database will store the user information, coins collected, trails, and trail questions
System Overview
The Corps Catch Application consists of three primary layers: The Front End/User Interface layer, the Back End/Data Processing layer, and the Database Layer.
The front-end layer consists of the visual aspects of the applications and is essentially everything that the users see and interact with. This layer also handles the inputs and placements of the outputs. In The Corps Catch Application, this layer should allow users to interact with and navigate to all the pages of the app, be visually appealing, and also easy to utilize. An example of the flow of the UI elements would be traversing from the Login Page to the Home Page and then the Coin Collection Tab. The front end will interact with the back end through any action requiring a change in state or publishing of information. For instance, clicking a button to go to another page or submitting the form the user gets when they are logging in.
This back-end layer will pass information between the front end and the database. Since information from the front end cannot be directed to the database, this layer will be used to communicate between the two. In the sign-up and login function of the application, this layer will get the information the user has entered and once the user presses submit, this layer gathers the information from the front end and stores it if the user is signing up, and validates whether the user exists in the database if the user is logging in. When the user is answering a question this layer gets the answer choice the user makes, and validates whether the answer matches the answer in the database. This layer will essentially be used to validate or execute necessary implementations within the application. Subsystems for this layer include front-end connection and database connection.
The database will store all user information including login information and profile information. This layer will also store questions for each trial, each question will have information including, the question, answer, difficulty, and which trail the question is for. When a user is signing up the back end communicates with this layer to make sure the user does not exist, then adds the user to the database. When a user logs in, the back end and this layer communicate to validate that the user exists, and navigate the user to the home screen if validated. When the user answers a question, a request is sent from the back end to this layer to check if the user is correct or not. If the users want to make changes to their profile, a request is sent from the back end and the selected changes will be made. Subsystems for this layer include database insertion and database query.
Results
The aim of this project was to develop a mobile application for a campsite that allows users to navigate the trails, answer questions along the way, and earn coins for completing each trail. The app also allows users to create an account and track their progress.
Despite encountering some technical difficulties, the project was successful in implementing most of the required features. The app includes a map page that displays the trails and the user’s location, a question page that presents users with multiple-choice questions, and a congratulatory page that is displayed the user’s score. There is also a collections page where the user can view their earned coins and a leaderboard page that displays the top users along with their scores. Users are also able to create an account with their email, password, name, and age.
Although the original plan was to have questions pop up based on the user’s location, a timer was used instead to prompt questions every 10 minutes.
Overall, the project achieved its main goal of providing an engaging and interactive experience for users, allowing them to explore the campsite trails and earn rewards for their progress. Future development could focus on refining the question feature and incorporating more personalized tracking and progress reports for each user.
Future Work
Expanding the trail and question database: The app currently only has three trails, each with a limited number of questions. Adding more trails and questions would make the app more robust and increase the potential for users to continue using the app over a longer period of time.
Implementing location-based question popups: While the app uses a timer to display question popups, the original plan was to have questions pop up based on the user’s location. In the future, it may be worth revisiting this feature and finding a way to implement it in a more user-friendly and accurate way.
Project Files
Project Charter (link)
System Requirements Specification (link)
Architectural Design Specification (link)
Detailed Design Specification (link)
Poster (link)