Skip to content

Serverless Expense Tracker Cloud-based expense management app using AWS serverless services (S3, Lambda, API Gateway, DynamoDB). Enables real-time expense tracking with auto-scaling and pay-per-use pricing.

JaidevCodes/Serverless_expense_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💰 Serverless Expense Tracker

A modern, cloud-native expense tracking application built with AWS serverless architecture. This project demonstrates the implementation of a full-stack serverless application for scalable and cost-effective expense management. The Serverless Expense Tracker is an advanced cloud-based application designed to streamline expense management for individuals and small businesses. It enables users to effortlessly track, categorise, and analyse their financial transactions in real time. Built on a serverless architecture leveraging AWS services, the application combines scalability, cost efficiency, and ease of maintenance. The application is built on a modern architecture utilizing AWS S3 for frontend hosting, AWS Lambda for serverless backend compute, Amazon DynamoDB for data storage, and AWS API Gateway for managing RESTful APIs.This project showcases the benefits of serverless architecture, delivering a robust and user-friendly application with minimal infrastructure management. It sets the foundation for future enhancements such as advanced analytics, mobile app integration, and global multi-region deployment. The Serverless Expense Tracker is a testament to the transformative potential of cloud-native technologies in simplifying and modernizing expense management.

🚀 Features

  • Real-time Expense Management: Add, view, update, and delete expenses instantly
  • Serverless Architecture: No server management required with auto-scaling
  • Responsive Design: Mobile-friendly web interface
  • Secure API: RESTful endpoints with proper authentication
  • Cost-Effective: Pay-per-use pricing model
  • High Availability: 99.9% uptime with AWS managed services

🏗️ Architecture

System Components

Technology Stack

Component Technology Purpose
Frontend HTML, JavaScript Responsive web interface
Hosting AWS S3 + CloudFront Static website hosting & CDN
Backend AWS Lambda Serverless compute functions
API AWS API Gateway RESTful API management
Database Amazon DynamoDB NoSQL data storage
Security AWS IAM Roles Access control & permissions
Monitoring AWS CloudWatch Logging & performance monitoring

📂 Folder Structure

.
├── Backend
│   └── index.js
├── Frontend
│   └── index.html
├── Report_File
│   └── Serverless_Expense_Tracker_ final.docx
├── Screen_shots
│   └── log1.png (Also includes all the screenshots related to the project)
└── README.md

🚀 Setup Instructions

  1. Upload /frontend/index.html to an S3 bucket with static website hosting enabled.
  2. Deploy /backend/index.js as a Lambda function.
  3. Connect the Lambda function to API Gateway.
  4. Enable CORS in API Gateway.
  5. Configure a DynamoDB table for storing expenses.

🚀 Usage

  1. Access the Application: Open your S3 website URL in a browser.
  2. Add Expense: Fill in the form with expense details and click "Add Expense".
  3. View Expenses: All expenses are displayed in a table below the form.
  4. Update Expense: Modify expense details and click "Update".
  5. Delete Expense: Click "Delete" next to any expense to remove it.

🚨 Troubleshooting

Common Issues:

  1. CORS Errors: Ensure CORS is enabled in API Gateway.
  2. Lambda Permissions: Verify IAM role has DynamoDB access. 3.S3 Bucket Policy: Check if the bucket allows public read access.
  3. API Gateway Deployment: Remember to deploy after changes.

Debugging:

  1. Check CloudWatch logs for Lambda errors.
  2. Verify API Gateway method responses.
  3. Test DynamoDB table access separately.

🔮 Future Enhancements

  1. User authentication with AWS Cognito.
  2. Advanced reporting and charts.
  3. Budget tracking and alerts.
  4. Mobile application.
  5. CSV import/export.
  6. Recurring expenses.
  7. Multi-currency support.
  8. Expense categories management.

👤 Author

Name: Jai Dev

Project: AWS Serverless Expense Tracker (College Minor Project)

📄 License

This project is for academic purposes. Feel free to use and modify this for educational purposes.

About

Serverless Expense Tracker Cloud-based expense management app using AWS serverless services (S3, Lambda, API Gateway, DynamoDB). Enables real-time expense tracking with auto-scaling and pay-per-use pricing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published