ExpenseTracker
ExpenseTracker is a simple, intuitive web application designed to help you manage your finances effectively. With ExpenseTracker, you can easily record, categorize, and monitor your daily, weekly, and monthly expenses in one convenient place.
Install / Use
/learn @gupta-ritik/ExpenseTrackerREADME
GSSoc'24 <a href="https://codeittool.netlify.app">Extended<img src="https://user-images.githubusercontent.com/63473496/153487849-4f094c16-d21c-463e-9971-98a8af7ba372.png" height=40px align=right></a>
🌟 ExpenseTracker – Your Personal Finance Companion 💵
<table align="center"> <thead align="center"> <tr border="2px"> <td><b>🌟 Stars</b></td> <td><b>🍴 Forks</b></td> <td><b>🐛 Issues</b></td> <td><b>🔔 Open PRs</b></td> <td><b>🔕 Close PRs</b></td> </tr> </thead> <tbody> <tr> <td><img alt="Stars" src="https://img.shields.io/github/stars/gupta-ritik/ExpenseTracker?style=flat&logo=github"/></td> <td><img alt="Forks" src="https://img.shields.io/github/forks/gupta-ritik/ExpenseTracker?style=flat&logo=github"/></td> <td><img alt="Issues" src="https://img.shields.io/github/issues/gupta-ritik/ExpenseTracker?style=flat&logo=github"/></td> <td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/gupta-ritik/ExpenseTracker?style=flat&logo=github"/></td> <td><img alt="Close Pull Requests" src="https://img.shields.io/github/issues-pr-closed/gupta-ritik/ExpenseTracker?style=flat&color=critical&logo=github"/></td> </tr> </tbody> </table>📋 Table of Contents
⚙️ Tech Stack
Frontend: Next.js, TypeScript, React Hook Form, Zod, TailwindCSS, Chart.js, ShadCN
Backend:Appwrite, Plaid, Dwolla
🛠️ Highlighted Features
• 🔐 Authentication: Ultra-secure SSR authentication with validations and authorization.
• 🔗 Connect Banks: Integrates with Plaid for linking multiple bank accounts.
• 📊 Home Page: Overview of user accounts with total balance, recent transactions, and spending categories.
• 🏦 My Banks: List of connected banks with respective balances and account details.
• 📝 Transaction History: Pagination and filtering options for viewing transactions across different banks.
• ⏱️ Real-time Updates: Immediate reflection of changes across all pages when connecting new bank accounts.
• 💸 Funds Transfer: Transfer funds using Dwolla to other accounts with necessary fields and recipient bank ID.
• 📱 Responsiveness: Seamless adaptation to various screen sizes, ensuring a consistent user experience across devices.
🤸 Quick Start
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/gupta-ritik/ExpenseTracker.git
cd ExpenseTracker
Installation
Install the project dependencies using npm:
npm install
Running the Project
npm run dev
Open http://localhost:3000 in your browser to view the project.
Running the Project Locally Using Docker
You can also run DesignDeck locally using Docker by following these steps:
-
Make sure you have Docker installed on your machine.
-
To start the application using Docker, run the following command in your terminal:
docker-compose up --build
This command builds the image and starts the container. You can then access the application at http://localhost:3000.
👨💻 Contributing
We welcome all contributions! If you'd like to contribute, follow these steps:
Steps to Contribute:
- Fork this repository by clicking the "Fork" button at the top right of the repository page.
- Clone your forked repository to your local machine:
git clone https://github.com/your-username/ExpenseTracker.git - Create a new feature branch to work on your changes:
git checkout -b feature-branch-name - Make your changes in the codebase.
- Commit your changes with a meaningful commit message:
git add . git commit -m "Added feature or fix description" - Push your changes to your forked repository:
git push origin feature-branch-name - Create a pull request to the original repository:
- Go to your forked repository on GitHub.
- Click the "Compare & pull request" button.
- Add a description and submit your pull request.
For major changes, please open an issue first to discuss your proposed changes.
Please make sure to follow the code of conduct.
- Tip : Complete this process in GitHub ](in your browser)
Our Valuable Contributors ❤️✨
💬 Feedback & Support
We appreciate your feedback! If you have any questions or issues, feel free to reach out or open a GitHub Issue.
For support, you can also reach out.
