The Excusr App is a mobile application to which you can turn to, when you can not think of any good excuses. The user can select a category for his excuse and then describe his situation. The user will then receive an excuse for the selected category. To avoid the user using the same excuses repeatedly, the user is given a hint that he has already used them.
★★★★★ Sameer Gross: "You certainly know the situation where you want to lie to your loved ones and friends in your vicinity and emotionally manipulate them or simply get out of a tricky situation. Then you need EXCUSR™®© now. Because life is better with EXCUSR™®©" - Sameer Gross (CEO of EXCUSR™®© Inc.)
★★★★★ Noah Streller: "..." - Noah Streller (EXCUSR™®© Inc. Sponsor)
★✰✰✰✰ Donald Trump: "I don't need this app. I have the best excuses. I have the best words. I have the best brain. I have the best of everything. I am the best." - Donald Trump (Former? President of the United States of America)
★★★★★ Mark Zuckerberg: "Lizards for the win" - Mark Zuckerberg (CEO of Facebook)
★★★✰✰ Elon Musk: "I like the idea, but I think it could be better. I will send you a rocket to Mars, so you can work on it there." - Elon Musk (CEO of SpaceX)
★✰✰✰✰ Master Oogway: "There are no accidents." - Master Oogway (Kung Fu Panda)
This is the documentation for the development of the Excusr™®© App.
This React Native Application is a mobile interface using data from Excuser Three. The user can use this app to find an excuse if found in a bad situation. The user also has to choose a category, eg. "Family" or "Office". After the user has chosen the category of their desire, they can interact with the "Get excuse"-Button. Right thereafter, the user will receive a random excuse. Excuses, that have been shown before, will be marked with an alert.
-
As a User, I would like to get excuses for my desired category, so I can lie to my loved ones.
-
As a User, I would like to choose a category for my excuses, so I can adapt to the specific situation.
-
As a User, I would like to have the option to mark duplicates with a warning, so I do not reuse the excuses.
-
As a User, I would like to have the option to automatically skip duplicates, so I can always see a brand new excuse.
-
As a User, I would like to view my excuse history, so I do not reuse the excuses.
The app uses React Native Paper as a component library, to ensure proper MD3 implementation. We use Tab navigation and the Expo Router package to handle the routing.
There are also some custom-made components, such as:
-
Blockquote
-
Category Dropdown
-
Excuse Output Field
-
Header (based on the Paper component)
-
Navigation Bottom Bar (based on the Paper component)
-
Banner, which is shown when the excuse is a duplicate
-
Popup
-
Settings Item
-
Toggle Switch
As for persistence, we save the full excuse object as a JSON string. The excuse objects have the following attributes:
{
id: number;
excuse: string;
category: string;
}
This string is saved to and retrieved from the Async-Storage, provided by the @react-native-async-storage/async-storage
module.
The users preferences are saved in the async storage as well. The preferences can be used in the entire app by wrapping it in a context provider. If the user wishes to disable duplicates, the app will retry to find a unused excuse 100 times. Sadly, there is no better method, as the API depends on randomized results.
ID |
1 |
Requirements |
As a User, I would like to get excuses for my desired category, so I can lie to my loved ones. |
Requisites |
The User has to be on the Excusr "Home" Tab |
Instructions |
|
Expected Results |
The User should now see a textbox with a random excuse for the given category. |
ID |
2 |
Requirements |
As a User, I would like to choose a category for my excuses, so I can adapt to the specific situation. |
Requisites |
The User has to be on the Excusr "Home" tab |
Instructions |
|
Expected Results |
The dropdown text should now contain your desired chosen category |
ID |
3 |
Requirements |
As a User, I would like to have the option to mark duplicates with a warning, so I do not reuse the excuses. |
Requisites |
The user should be on the "Settings" tab |
Instructions |
|
Expected Results |
The User will now when clicking on "Get an excuse" on the "Home" tab if a duplicate excuse appears a red field will appear which tells you that this excuse is a duplicate one. If a green one appears if means its a unique excuse. |
ID |
4 |
Requirements |
As a User, I would like to have the option to automatically skip duplicates, so I can always see a brand new excuse. |
Requisites |
The user should be on the "Settings" tab |
Instructions |
|
Expected Results |
The User can just normally use the app and get excuses but there won’t be any warnings since duplicate excuses will just be skipped |
ID |
5 |
Requirements |
As a User, I would like to view my excuse history, so I do not reuse the excuses. |
Requisites |
The user should be on the "History" tab |
Instructions |
|
Expected Results |
The user should now be able to see the excuses he has already gotten. |
ID |
Person |
Date |
Success |
Notes |
1 |
Cyrill Schudel |
12/03/2024 |
yes |
The user could choose a category and get an excuse |
2 |
Joel Schatt |
12/03/2024 |
yes |
The user could choose a desired category |
3 |
Cyrill Schudel |
12/03/2024 |
yes |
The user was able to see the marked excuses. |
4 |
Cyrill Schudel |
12/03/2024 |
yes |
The user just got new excuses and got to see how many retries it took |
5 |
Joel Schatt |
12/03/2024 |
yes |
The user was able to see the excuses he had already used. |
-
The project all in all went quite well. We made good progress and didn’t have to stress at all.
-
We are quite happy with our result and what we achieved in the little time we had.
-
We learned how to navigate some of the troubles with React Native and had some new experiences with working with Figma. My College and I can both say we have been able to gain knowledge from this project.
-
We achieved all we had wanted and even tho there are some ease-of-use items we could add but those are more luxuries than necessities.