About Our Expense Tracker App

This app aims to aid the user in money management by allowing them to create an account that they can use to track their monetary transactions and investments, organize investments by categories, and view a structured summary of revenue and expense. This app is for people who want to be smart with their money!
Over the course of the past academic year, our team has developed this app for our Senior Capstone Project at the University of South Carolina. During the planning phase, we created user stories and requirements for our app, discussed the possible ethical, legal, and security issues that could arise with the use of our app, used Proto.io to draft prototypes for each planned screen, and created UMLs to plan out the architecture of our app. After we finished planning for our app, we began developing it in JavaScript using the React Native framework. We used Visual Studio as our development environment, Github for source control and collaboration, Jest for testing, and Expo to create and run our app.

How to Use Our App

After opening our app, begin by creating a new account if you don't already have one in the system. Once your account is made, you are able to sign back into our app by entering your name, email, and password in the respective input boxes.

If you have successfully entered sign-in information that matches an account in our system, the following alert will appear to let you know that you are now signed-in.

After closing out of the welcome alert, you will see that you are now on the home screen. On the top left of the screen, you will find a hamburger menu (≡) which is a common navigation menu that allows you to get to any page. If you would prefer, you can also click the blue buttons on the home page and they will also direct you to each page of our app.

If you click the 'New Transaction' button, it will direct you to the screen that allows for users to add entries to their account that are either expenses or revenues, and they can also specify a title that summarizes the transaction, a positive amount that is associated with the transaction, the date the transaction occurred on, any notes about the transaction, and if you hit the dropdown arrows below the entry box, you can specify the recurrence period and assign it to a category (Rent/Utilities, Income, Groceries, etc.). Once you input all of the relevant information, you will hit the 'add revenue' button or the 'add expense' button to add it to the database. If you hit 'add expense' the database will note that the positive amount that has been entered actually represents a negative value in relation to the user's current net balance. To view all of the transactional data, the user can navigate to the print summary page where they can view a list of all of the transactions, or they can navigate to the summary page where they can view information that summarizes all of the transactions.

If you click the 'Investment' button, it will direct you to the screen that allows users to track their investments and see how much their investments are currently worth. To start tracking a stock, the user should enter the appropriate stock symbol, and the number of shares that they currently own for that stock. After entering this information, the user will hit 'add stock' and the stock will appear above displaying how many shares the user owns and what the current trading value is.

Our Demo Video


Meet the Developers!

The Objective Oriented Programmers team is made up of 5 seniors studying Computer Science at the University of South Carolina. We are all very excited to tell you about how the Capstone Project has helped us grow as professionals and how we are going to apply what we learned after graduating!
"My name is Victoria Condos and I'm from Chester, New Jersey. In August, I will begin working as a Developer Analyst at Barclays in the Greater NYC Area. In my free time, I enjoy hanging out with friends, reading, going on hikes, and golfing. The Capstone Project was the first time that we were given a project that we had the freedom to make a project our own and the responsibility to see it all the way through from planning to execution. During the course of this project, I learned that just because something is working on one platform doesn't mean that it is working on every platform. My favorite part of this project was collaborating with my teammates during our weekly meetings and using Github. I really enjoyed watching our ideas come to fruition as our app was developed and fine-tuned. This project was definitely the most challenging assignment that I have had during my college career, and as the project is coming to a close, I can say that I feel much more prepared for entering the workforce. " - Victoria Condos
Working on our Capstone Project has been quite the roller coaster; from learning how firebase works to trying to create a stable page that runs on both the phone and an emulator, I have learned that app development is not as easy as it seems and sometimes takes multiple people to jump through multiple hoops in order for your app to successfully run. During the term of this project, I have learned how to code in JavaScript, how to work with a team to produce a stable project, and how to run apk files for app testing on my computer using Android Studio. The Capstone Project has been a strenuous process on both me and my team, but I believe after finishing this project it has made me both a better programmer and more experienced for the next app I help create. - Elijah Dawkins
My name is Simon Miller and I'm from Alexandria, Virginia. After graduation in May I'll be moving to Atlanta, Georgia to start working on the software development team at General Motors. Throughout the duration of this class, I've learned a lot of useful skills such as working in a react native environment, working with Firebase, and other various node packages. This was one of my first major group projects, and it was a great experience working with other people to solve complex problems in an easy and efficient manner. I enjoyed working with and building out our database schema to effectively store the data and information that we needed. In my free time I enjoy hanging out with friends and being active outside doing various activities! - Simon Miller
Hello, my name is Austin O’Malley from Point Pleasant, New Jersey. My post-graduation plans are to work at Capgemini here in Columbia and earn certifications that I can add to my resume to become more valuable in the workforce. I also plan on moving here from my home in New Jersey. I learned a lot about app development and the research that goes into them as well as the multiple formats that can be used to create an app. I also learned about things that can cause errors in apps and file types. My favorite part of this project was research. I loved finding answers to my group and I’s questions and sharing them with my team. I enjoyed discovering new techniques and employing them in the app. One final perk of this project was getting to work with my team. - Austin O'Malley
"My name is Elizabeth Stevenson and I am a senior Computer Science student from Aiken, South Carolina. After graduation, I will be pursuing a Master's degree in Digital Forensics at George Mason University in Fairfax, Virginia. In my free time, I like to take yoga and spin classes, go on walks, and try new recipes. This project has taught me hard skills such as coding in JavaScript, React Native framework, Jest testing tools, and the software development timeline. Not only have I learned hard skills, but I also further developed my soft skills of collaboration, effective communication, and planning. My favorite part of the project was working closely with my teammates to design and plan our app. I am looking forward to applying these skills in the job market." - Elizabeth Stevenson

Click here to checkout our repo.