Skip to content

Money on My Mind is a budgeting application that allows you to plan your budget, keep track of your expenses with generated charts for summary when a user logs in and tables for more details. It also provides a counseling through videos, text, and an in-app chatbot.

Notifications You must be signed in to change notification settings

rubycmarroquin/MoneyOnMyMind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


MoMMLogo
Money on My Mind

Contributors LinkedIn

Table of Contents
  1. About The Project
  2. Installation
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact
  7. Acknowledgments

About The Project

As someone who is low income and has watched people spiral into debt, I have seen many people around me have trouble with managing their finances, which has led them into overspending, debt buildup, and difficulty saving for long-term goals and retirement. In order to stop this cycle, I want to build an informative, free application that helps people plan their budgets to make informed financial decisions and achieve financial stability.

Here's why:

  • Money on My Mind has a user-friendly interface to make it easy for technical and non-technical people to use.
  • Expense and income tracking is offered so that you can view your finances as a table or as a chart if you like visuals.
  • Provide an informative, financial literacy tab with an in-app chat bot that you can ask for financial advice.
  • Get a Google Calendar invite for upcoming expenses with due dates so that you don't forget!

Built With

  • JavaScript
  • Express.js
  • React
  • NodeJS
  • Postgres
  • Bootstrap
  • Semantic UI React
  • MUI

API Reference

Database Schema

Installation

This project requires Auth0! Please visit Auth0 to make an account and retrieve a domain and clientid. See .env.example for set up!

Step 1: Go to your terminal: clone the project and switch into the project directory.

  git clone https://github.com/rubycmarroquin/MoneyOnMyMind.git
  cd moneyonmymind

Step 2: Install all packages.

  cd client && npm install && cd ../server && npm install

Step 3: Setup Environment Variables

  • Copy the instructions from both .env.example files in the client and server.

Step 4: Connect the database and the data.

  cd server
  psql moneyonmymind -f db.sql

Step 5: Start the program!

  cd server && npm run dev

Usage

Testing Account

[email protected]
TestAccount23!

Get started!

Create an account with our secure login powered by Auth0!

Dashboard

When first logging in, users can see the current month/year's spending breakdown. Users are also able to switch between months and years where our charts that have been generated using React Google Charts and table are dynamically updated based on the month/year selected.

Budget

In the Budget's page, users are prompted to select a month and year for which they want to add an expense or income to. Users can edit an expense that has already been added or delete it!

Additionally, users are offered a "bell" option that allows them to get a Google calendar invitation that is generated using Google Calendar API! (never forget to pay your bills again~) The calendar invite is only available if an expense has a due date and if the date has not already passed (e.g., If it is May 25th, 2023 you cannot get one for January 1st, 2023). DISCLAIMER: If you want to use the calendar invite, you must use a valid email address during sign up!

Financial Literacy

Become informed, or watch some informative videos. The Financial Literacy Page is there to help educate to empower you to make good financial decisions! The videos displayed are rendered using the YouTube API and can change depending on video popularity, video deletion, etc...

The real show stopper of the Financal Literacy Page is "Money Mentor"! Money Mentor? You may ask, is an in-app chatbot that is powered by OpenAI API that provides financial advice based on a user's inquiry. (disclaimer: response times may vary depending on OpenAI API usage)

Account Settings

In the Account Settings, users are able to provide some basic information such as a name or phone number, not required. Additionally, users can request a password reset email that is generated using Auth0 Management API to securely change your password.

Roadmap

  • Create Dashboard
    • Display a summary of user spending using Google Charts React Library
      • Current month uses Donut Chart
      • Year overview using Combo Chart
    • Display a table of the expenses
    • Allow the user to switch between months and years
  • Create Budget Page
    • Let users add, modify and delete income items
    • Let users add, modify and expense income items
    • Allow users to select each month and year they want to add to
    • Button that allows users to receive a google calendar invite for expenses with upcoming due dates.
      • Generate calendar invite using Google Calendar API
  • Create Account Settings Page
    • Reset password email
    • Form for user's name and phone number
  • Financial Literacy Page
    • Display financial videos using YouTube API
    • In-app chat bot based with scope to finance using OpenAI API

Contributing

In case you have a suggestion to improve the project, you can either fork the repository and initiate a pull request or raise an issue labeled as "enhancement".

About the Developer

Hey there! My name is Ruby Marroquin and my pronouns are she/her. I am from Los Angeles, California. After high school I went to community college, where I used to tutor in mathematics and eventually got my associates in math. I decided to pursue higher education and was the first in my family to attend university. I went to UC San Diego and was part of the Jacobs School of Engineering, where I planned on getting a computer science degree despite having a math background. Ultimately, the program was too expensive for me to stay, but that did not deter me from seeking a way into tech, which is how I ended up at Techtonica. Thank you for reading & I hope you enjoy Money on My Mind!

Contact

Acknowledgments

(back to top)

About

Money on My Mind is a budgeting application that allows you to plan your budget, keep track of your expenses with generated charts for summary when a user logs in and tables for more details. It also provides a counseling through videos, text, and an in-app chatbot.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published