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.
- 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
.env
file. 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 dev
For 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
This project is licensed under the MIT License. See the LICENSE file for more information.