Study Buddy was created to help connect students to other students looking to study for a specific subject. We realized that not every student in a class feels the need to have to study for a certain subject, and it can be difficult to find someone to study with. In addition, tutoring/tutoring apps cost money and in many cases, the tutor doesn’t understand the exact classroom setting where the student is learning or how exactly they are struggling in their class because they aren’t in the classroom every day. It is highly important for students to have options in terms of finding help and collaboration is key to not only gathering all aspects of information of the subject, it also improves students’ abilities to work as a team. Every student has different ways of studying and absorbing information, causing a variation of strengths and weaknesses in every class. Meeting with other peers can help students discover a new perspective on information and possibly a new approach to learning in their course(s).
What it does
Study Buddy first asks for the user's email and name and the main subject they which to focus on. Next, the student selects the course along with the teacher that they have and presses the "Find Buddy!" button. By pressing the "Find Buddy!" button, the name and email the user inputted is then stored in a TinyWebDB, retrieved, and then displayed on a list with other students who share the same interest in studying for that particular course. Once the user has chosen who they wish to contact for studying, they press "Connect with a Buddy" button which takes the user to a web browser. Using the browser, the student can login to their own email and use the emails from the previous list to contact potential study buddies.
How we built it
After editing and redrafting Study Buddy, we finally decided to use a TinyWebDB and requested all of the names of teachers and courses at our school. We created individual tags for each course and teacher, making sure that when the app initialized, the data from the tags would be retrieved. We initialized the lists of each course and teacher as global variables which allows the storing of the data later on. Once the user chooses the course and teacher that they have, his or her email and name are stored into the TinyWebDB under the specific tag of that course and teacher. Within the same action, the data stored is then retrieved so it can be displayed on a list for other users to see. During the whole process of going to different screens, we did not actually design screens, but arrangements that acted as screens. When using the arrangements, we manipulated the visibility of each arrangement to make it seem as if the user was being brought to a new screen. For MIT App Inventor 2, too many screens could easily crash our app. In addition to the precautions took to make sure the app did not crash, we designed our own icons and logos and compressed their file sizes. We also made sure to include "Back" buttons on almost every arrangement just in case the user makes an error or changes his or her mind on which area they wish to study in.
Challenges I ran into
The main challenges in designing Study Buddy derived from figuring out the use of databases, communication within the app, and working with MIT App Inventor itself. Being in our first trimester of Computer Programming, we were only aware of the basic functions of MIT App Inventor 2 and have yet learned to use any advanced features. Originally, we wanted to have users be able to communicate with one another through a texting format within the app itself. However, a texting aspect within our app required the use of Firebase, which involved more advanced means of coding. We spent hours watching at videos (some of which were in Spanish) and reading articles as how to even use Firebase. Eventually, we had to resort to using a web browser where users can log in to their own emails and email their selected study buddy from their assigned list. We decided to devote our time to utilizing either firebase or TinyWebDB to specifically store and get the data of the users since it is the main component of the app. The idea of TinyWebDB was simpler compared to Firebase. In order to effectively use TinyWebDB, we had to redesign a decent portion of Study Buddy and spend hours researching how to utilize the database. During the design process, we often struggled with opening our emulators to test the app. Fortunately, one of us had an old tablet that occasionally opened MIT App Inventor 2.
Accomplishments that I'm proud of
When making the app, there were a lot of variables and aspects of computer programming we had yet to learn. Our design was much more advanced than what we were originally studying in MIT App Inventor 2. As a result, we spent hours during lunch at school and at the library figuring out how to use databases and redesigning our app to get it to work with the interface. In the end, we were able to create an app that we are proud of!
What I learned
From this process, we learned the logistics of creating an app. Using MIT app inventor to create our app we were able to visualize how computer programming is structure. Lastly, we learned and realized the time and effort that comes with an app’s creation.
What's next for Study Buddy
We planned to improve our app in the future to add a feature where students can choose which school they go to, and have schools themselves add their classes as well as the teachers who teach those classes so that students in any school can find someone at their school that they can study with.