Guilt Motivator is a time-managing app that pressures you into doing your work by embarrassing you if you do not. You create a to-do list with set deadlines for each item. When you do not mark an item as complete before the deadline, the app both notifies you and your set contact of your disappointing work. Notifications for you are simply notifications; for your contact, this could be a text, a Facebook post, or a Splitwise bill. Guilt Motivator may also include an alarm clock feature with similar notification patterns.
- User is able to create new task in task manager with a set deadline and a contact for this task. At this time, user can also set the message to be sent to the contact if the task is not completed.
- If user doesn’t finish the task on-time, the app will send a notification to the user and a text to the contact.
- If user finishes the task on time, they can check off the task in the app and nothing will happen.
- Ask prompt when the app time runs up. “Your time’s up. Did you do the thing?”
- Integrate with Facebook, Splitwise, or other social apps based on user’s preference.
- An alarm clock feature that enable multiple users to wake up each other.
- Positive affirmation. If you did do the thing, send someone of your choice an email, or get congratulations notifications.
- Access to contacts
- Texting
- Running the app in the background(even it’s not opened).
- Calendar
- SQL
- Facebook, Splitwise and etc. for stretch goals
- Learn how to make decent UI : we’d love to make an app without the Window 98 style default UI. In this project, we’ll try to make our app polished with a more aesthetically pleasing interface.
- Learn to publish app on Google Play. I hope we will have a chance to publish our app onto Google Play at the end of the project.
- Learn good git workflow, manage large scale projects. Dividing work has always been an issue for my team. Through this project, I think I will figure out better ways to collaborate and divide work.
- Learn about background service, and optimize the app so that it wouldn’t eat the battery. In this project, we need to have a service for the app to run in the background. Many services use too much CPU and memory that eat the phone’s battery, so I hope I can learn more about services in this project.
- Learn the procedure of launching app on Google Play: I’ve always want to launch an app in Google Play and this project would be a great first step.
- Learn about workflow and good coding practice when working on a large Android project: I never had the experience of working in a large Android project and I’d love to learn more about the good practice for this. Throughout this project I will learn about branching, version control and other useful aspects of app development.
- Learn fragment interaction and how it works. I want to more active programming of the Java files and actually understand what I’m writing. The project is useful for this because it is kind of necessary for the app and if I contribute to it, I’ll learn it.
- Be better at time management, especially in the context of a project. I have long struggled with time management. I would like to be involved in setting (and meeting) realistic goals. The project is useful for this because an organized project works better.
- Write clean, well documented code that’s not jank. Any project would help me accomplish this, but I want to make something that doesn’t feel like a hackathon project, and I think what will make me follow through on this is leaving lots of time at the end to perfect things.
- I’d like to have a solid understanding of all the components of the project. This can be achieved through good git practices (reviewing pull requests thoroughly) and good communication.
- I want to be better at SQL. I understand some of it, but I think I could really use some more practice at making it really robust. This project will help me because we’ll have to store a lot of things (contacts, messages, tasks etc.) and I can focus on doing that well.