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.
- 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
| 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 |
.
├── 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
- Upload
/frontend/index.htmlto an S3 bucket with static website hosting enabled. - Deploy
/backend/index.jsas a Lambda function. - Connect the Lambda function to API Gateway.
- Enable CORS in API Gateway.
- Configure a DynamoDB table for storing expenses.
- Access the Application: Open your S3 website URL in a browser.
- Add Expense: Fill in the form with expense details and click "Add Expense".
- View Expenses: All expenses are displayed in a table below the form.
- Update Expense: Modify expense details and click "Update".
- Delete Expense: Click "Delete" next to any expense to remove it.
Common Issues:
- CORS Errors: Ensure CORS is enabled in API Gateway.
- Lambda Permissions: Verify IAM role has DynamoDB access. 3.S3 Bucket Policy: Check if the bucket allows public read access.
- API Gateway Deployment: Remember to deploy after changes.
Debugging:
- Check CloudWatch logs for Lambda errors.
- Verify API Gateway method responses.
- Test DynamoDB table access separately.
- User authentication with AWS Cognito.
- Advanced reporting and charts.
- Budget tracking and alerts.
- Mobile application.
- CSV import/export.
- Recurring expenses.
- Multi-currency support.
- Expense categories management.
Name: Jai Dev
Project: AWS Serverless Expense Tracker (College Minor Project)
This project is for academic purposes. Feel free to use and modify this for educational purposes.