FinanceTracker is an automatic finance tracker designed to help you keep a close eye on your spending habits. By intelligently scraping your messages and providing insightful analytics, FinanceTracker enables you to manage your budget more effectively and make informed financial decisions.
You can watch the demo video here: FinanceTracker Demo
- Automatic Message Scraping: Effortlessly track your spending by extracting financial information from messages and transactions.
- Budget Management: Set budgets for different categories and get notifications when you are nearing your limits.
- Spending Insights: Gain an overview of your spending patterns with visual graphs and analytics.
- Customizable Alerts: Receive alerts for unusual spending activity or when bills are due.
- Data Privacy: Your data remains secure and private with advanced encryption methods.
For a demo of the application, you can use the following credentials:
- Email: [email protected]
- Password: 123456
- Website: PennyTracker
Follow these instructions to get the project up and running on your local machine.
- Node.js: Ensure you have Node.js installed on your system.
- React.js: For the front-end of the application.
- Express.js: For building the backend.
- Database: A suitable database like MongoDB for storing transaction data.
- Redis: Used for checking Firebase data.
- Scraping Library: Set up the necessary tools for message scraping.
- AWS SDK: For interacting with AWS services like S3.
-
Clone the repository:
git clone https://github.com/Sridhar1030/FinanceTracker.git
-
Navigate to the project directory:
cd FinanceTracker -
Install dependencies:
npm install
-
Set up your environment variables in a
.envfile. You'll need variables for:- Database URL
- Redis connection string
- Firebase credentials
- API keys (if applicable)
- Encryption keys for data security
To start the development server, run:
npm run devFor the production build:
npm run build
npm start- Create an Account: Sign up and connect your message sources.
- Set Your Budget: Define budgets for different categories, such as groceries, transportation, and entertainment.
- Review Your Spending: View your transaction history, analyze trends, and adjust your spending habits.
- Get Insights: Understand your financial habits through personalized insights and recommendations.
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB or your preferred database
- Message Scraping: Library/tool for scraping messages
- Caching: Redis for checking Firebase data
- Data Visualization: Chart.js or similar library for graphs and analytics
- AWS EC2: Deployed the FinanceTracker application on Amazon EC2 for scalable and flexible hosting.
- AWS S3: Used Amazon S3 for storing user profile photos securely, enabling easy access and management of user data.
- AWS SDK: Integrated the AWS SDK to facilitate interactions with AWS services for file uploads and data retrieval.
FinanceTracker/
│
├── src/
│ ├── components/ # React components
│ ├── pages/ # Application pages
│ ├── services/ # API and data services
│ ├── utils/ # Utility functions
│ └── App.js # Main app component
│
├── backend/
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── controllers/ # Request handlers
│ └── server.js # Main server file
│
├── public/ # Public assets
├── .env # Environment variables
├── package.json # Project metadata and dependencies
└── README.md # Project documentation
Contributions are welcome! If you have suggestions for improvements or want to fix bugs, please fork the repository and submit a pull request.
- Fork the Project
- Create your feature branch:
git checkout -b feature/NewFeature - Commit your changes:
git commit -m 'Add new feature' - Push to the branch:
git push origin feature/NewFeature - Open a pull request