SkillAgentSearch skills...

ExpenseTracker

The Expense Tracker is a web-based application designed to help users manage their monthly expenses and track spending against a set budget. It utilizes AWS DynamoDB for data storage and AWS SNS for real-time budget alerts.

Install / Use

/learn @codesam2005/ExpenseTracker
About this skill

Quality Score

0/100

Category

Design

Supported Platforms

Universal

README

Expense Tracker

📌 Overview

The Expense Tracker is a web-based application designed to help users manage their monthly expenses, track spending against a set budget, and receive alerts when the budget is exceeded. This project integrates AWS DynamoDB for data storage and AWS SNS for real-time budget alerts.

✨ Features

  • Set and Manage Monthly Budget – Store budget limits in AWS DynamoDB.
  • Track Expenses – Add, view, and delete expenses dynamically.
  • Category Selection – Choose from predefined categories or add a custom one.
  • Budget Monitoring – Automatically calculates total spending for the month.
  • AWS SNS Alerts – Sends an SMS notification if expenses exceed the budget.
  • AWS QuickSight Integration – Analyzes expense data using Amazon QuickSight and AWS Athena to convert DynamoDB data for visualization.
  • User-Friendly Interface – Simple and clean UI for easy navigation.

🏰️ Tech Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: AWS SDK (JavaScript)
  • Database: AWS DynamoDB
  • Data Analytics: AWS QuickSight, AWS Athena
  • Notifications: AWS SNS
  • Development Environment: Visual Studio Code

🚀 Installation and Setup

1⃣ Prerequisites

Before running the project, ensure you have:

2⃣ Clone the Repository

git clone https://github.com/codesam2005/ExpenseTracker.git
cd expense-tracker

3⃣ Install Dependencies

npm install aws-sdk

4⃣ Configure AWS Credentials

Edit the script.js file and replace the following placeholders with your own AWS credentials:

AWS.config.update({
    accessKeyId: 'YOUR_ACCESS_KEY',  // Replace with your AWS Access Key
    secretAccessKey: 'YOUR_SECRET_KEY',  // Replace with your AWS Secret Key
    region: 'us-east-1' // Change to your AWS region
});

🚨 Security Tip: Never hardcode your AWS credentials. Use IAM roles, AWS Cognito, or environment variables for security.

5⃣ Create Required AWS Services

You need to manually create the following AWS services before running the project:

  • DynamoDB Tables:
    • BudgetTable with UserID (Partition Key) and budget (Number)
    • Expenses with ExpenseID (Partition Key), date, amount, and category
  • SNS Topic: Create an SNS topic and subscribe your phone number to receive alerts.
  • AWS Athena & QuickSight:
    • Configure AWS Athena to query DynamoDB data.
    • Set up Amazon QuickSight to visualize spending trends and budget insights.
  • IAM Permissions: Ensure your IAM role has access to DynamoDB, SNS, Athena, and QuickSight.

6⃣ Run the Project

Open Visual Studio Code, navigate to your project folder, and start a live server:

  1. Click on Go Live at the bottom-right corner of VS Code.
  2. Then, open http://localhost:5500 in your browser.

📩 Future Enhancements

🔹 User authentication with AWS Cognito
🔹 More advanced analytics and reporting in QuickSight
🔹 Voice assistant for adding expenses


💡 Contributors & Feedback: Feel free to submit issues or pull requests if you have suggestions! 🚀

View on GitHub
GitHub Stars46
CategoryDesign
Updated1mo ago
Forks0

Languages

JavaScript

Security Score

75/100

Audited on Feb 6, 2026

No findings