Jar-Allocation

Overview

Jar-Allocation is a web application designed to help users manage their personal finances using the 6 Jars Financial Management System. The application allows users to allocate their income, track expenses, and achieve financial goals effectively.

The 6 Jars System

The 6 Jars Financial Management System divides your income into six categories with specific purposes:

  1. Necessities (55%):

    • Covers essential living expenses such as food, housing, utilities, and transportation.
  2. Education (10%):

    • Invests in personal development through books, courses, and seminars.
  3. Long-term Savings (10%):

    • Allocates for long-term savings and investments such as buying a house, a car, or investing in stocks.
  4. Play (10%):

    • Spent on entertainment, travel, and personal luxuries.
  5. Financial Freedom (10%):

    • Invests in passive income opportunities like stocks, bonds, or small businesses.
  6. Charity (5%):

    • Contributes to charitable activities and helping others.

Project Features

  • User Registration and Authentication: User sign-up and login functionality.
  • Income Tracking: Input and track monthly income.
  • Jar Allocation: Automatically or manually allocate income into 6 jars.
  • Expense Tracking: Record and categorize daily expenses into appropriate jars.
  • Savings and Investment Goals: Set and track long-term savings and investment goals.
  • Reports and Analytics: Generate reports and visualizations for income, expenses, and goal progress.
  • Notifications and Reminders: Send notifications and reminders for important financial events.
  • Security Features: Ensure user data security with encryption and access controls.

Technology Stack

  • Frontend: React
  • Backend: Node.js with Express
  • Database: PostgreSQL
  • Authentication: JWT (JSON Web Tokens)
  • Hosting: AWS

Getting Started

Prerequisites

  • Node.js
  • PostgreSQL

Installation

  1. Clone the repository:
    git clone https://github.com/theanishtar/Jar-Allocation.git
  2. Install dependencies:
    cd 6-jars-money-management
    npm install
  3. Set up the database:
    • Create a new PostgreSQL database.
    • Update the database configuration in config.js.
  4. Run the application:
    npm start

Usage

  • Register: Create a new user account.
  • Login: Sign in to your account.
  • Set Income: Input your monthly income.
  • Track Expenses: Record and categorize expenses.
  • View Reports: View financial reports and goal progress.

Contributing

If you want to contribute to the project, please create a pull request or open a new issue.

License

This project is licensed under the MIT License.


By using the Jar-Allocation application, you can easily manage your personal finances and achieve your financial goals effectively and systematically.