{"id":25430912,"url":"https://github.com/rudra-xi/finance-flow","last_synced_at":"2026-04-20T09:04:34.534Z","repository":{"id":277731064,"uuid":"933316809","full_name":"rudra-xi/finance-flow","owner":"rudra-xi","description":"Finance Flow Master your financial data with robust tools for effective data management and strikingly insightful reports and dashboards.","archived":false,"fork":false,"pushed_at":"2025-02-28T19:01:05.000Z","size":518,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T22:38:44.668Z","etag":null,"topics":["backend","frontend","mern","mern-stack","nodejs","reactjs","render","vite"],"latest_commit_sha":null,"homepage":"https://finance-flow-xuyt.onrender.com/#/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rudra-xi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-15T17:06:33.000Z","updated_at":"2025-02-28T19:01:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1cdde14-5883-4088-aff2-22c6abf60f5d","html_url":"https://github.com/rudra-xi/finance-flow","commit_stats":null,"previous_names":["rudra-xi/finance-flow"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudra-xi%2Ffinance-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudra-xi%2Ffinance-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudra-xi%2Ffinance-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudra-xi%2Ffinance-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rudra-xi","download_url":"https://codeload.github.com/rudra-xi/finance-flow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160577,"owners_count":22024571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","frontend","mern","mern-stack","nodejs","reactjs","render","vite"],"created_at":"2025-02-17T03:48:26.637Z","updated_at":"2026-04-20T09:04:34.528Z","avatar_url":"https://github.com/rudra-xi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FinanceFlow\n\nFinanceFlow is a **MERN stack** (MongoDB, Express.js, React, Node.js) application designed to help users manage their budgets and expenses efficiently. With an intuitive user interface and robust backend, FinanceFlow simplifies personal finance management by allowing users to track their spending, set budget limits, and gain insights into their financial habits.\n\n***New FinanceFlow Preview***\n![New FinanceFlow Preview](./frontend/src/Assets/previewNew.png)\n***Old FinanceFlow Preview***\n![Old FinanceFlow Preview](./frontend/src/Assets/previewOld.png)\n\n**Live Demo:** [FinanceFlow](https://finance-flow-xuyt.onrender.com/#/)\n\n---\n\n## Features\n\n- **User Authentication**: Secure login and registration system with password hashing.\n- **Budget Management**: Create, update, and delete budgets for different categories.\n- **Expense Tracking**: Record and categorize expenses with details like amount, date, and description.\n- **Responsive Design**: Built with TailwindCSS for a seamless experience across devices.\n- **Real-Time Updates**: Dynamic updates to budgets and expenses without page reloads.\n- **Toast Notifications**: User-friendly notifications for actions like successful login, budget creation, or expense addition.\n\n---\n\n## Project Structure\n\nThe project is divided into two main parts:\n\n- **`frontend`**: The client-side of the application built with **Vite React**.\n- **`backend`**: The server-side of the application built with **Node.js** and **Express**.\n\n---\n\n## Clone Repository\n\nTo get started with FinanceFlow, clone the repository to your local machine:\n\n     ```sh\n     git clone https://github.com/rudra-xi/FinanceFlow.git\n     cd FinanceFlow\n     ```\n\n---\n\n## Setup Instructions\n\n### Prerequisites\n\nBefore running the application, ensure you have the following installed:\n\n- **Node.js** (v16 or higher)\n- **npm** (v8 or higher)\n- **MongoDB** (for database storage)\n\n### Frontend Setup\n\n1. Navigate to the `frontend` directory:\n\n          ```sh\n          cd frontend\n          ```\n\n2. Install dependencies:\n\n          ```sh\n          npm install\n          ```\n\n3. Start the development server:\n\n          ```sh\n          npm run dev\n          ```\n\nThe frontend will be available at `http://localhost:5173`.\n\n#### Frontend Dependencies\n\n- **`axios`**: Promise-based HTTP client for making API requests.\n- **`react-datepicker`**: A simple and reusable datepicker component for selecting dates.\n- **`react-hot-toast`**: A lightweight library for displaying toast notifications.\n- **`tailwindcss`**: A utility-first CSS framework for rapid UI development.\n\n### Backend Setup\n\n1. Navigate to the `backend` directory:\n\n          ```sh\n          cd backend\n          ```\n\n2. Install dependencies:\n\n          ```sh\n          npm install\n          ```\n\n3. Start the development server:\n\n          ```sh\n          npm run dev\n          ```\n\nThe backend server will run on `http://localhost:5000`.\n\n#### Backend Dependencies\n\n- **`bcryptjs`**: Library for hashing passwords securely.\n- **`body-parser`**: Middleware for parsing incoming request bodies.\n- **`cors`**: Middleware to enable Cross-Origin Resource Sharing (CORS).\n- **`express`**: Web framework for building the backend API.\n- **`mongoose`**: MongoDB object modeling tool for asynchronous database operations.\n\n---\n\n## Pages\n\n### 1. **SignIn**\n\nThe **SignIn** page allows users to log into their accounts using their credentials. It includes a form for entering the username and password. Upon successful login, users are redirected to the **Budget** page.\n\n### 2. **Budget**\n\nThe **Budget** page enables users to create and manage their budgets. Users can:\n\n\u003e Set budget limits for different categories (e.g., groceries, entertainment, utilities).\n\u003e View a summary of their spending against the budget.\n\u003e Edit or delete existing budgets.\n\n### 3. **Expense**\n\nThe **Expense** page allows users to record their expenses. Users can:\n\n\u003e Add new expenses with details like amount, date, category, and description.\n\u003e View a list of all recorded expenses.\n\u003e Filter expenses by category or date range.\n\n### 4. **About**\n\nThe **About** page provides information about the FinanceFlow application, its features, and the team behind it. It also includes links to documentation and support.\n\n---\n\n## API Endpoints\n\nThe backend exposes the following RESTful API endpoints:\n\n- **Auth**\n  \u003e `POST /api/auth/register`: Register a new user.\n  \u003e `POST /api/auth/login`: Log in an existing user.\n  \u003e `POST /api/auth/logout`: Log out the current user.\n\n- **Budgets**\n  \u003e `GET /api/budgets`: Fetch all budgets for the logged-in user.\n  \u003e `POST /api/budgets`: Create a new budget.\n  \u003e `PUT /api/budgets/:id`: Update an existing budget.\n  \u003e `DELETE /api/budgets/:id`: Delete a budget.\n\n- **Expenses**\n  \u003e `GET /api/expenses`: Fetch all expenses for the logged-in user.\n  \u003e `POST /api/expenses`: Add a new expense.\n  \u003e `DELETE /api/expenses/:id`: Delete an expense.\n\n---\n\n## Environment Variables\n\nTo run the application, you need to set up the following environment variables:\n\n1. Create a `.env` file in the `backend` directory and add the following:\n\n          ```env\n          PORT=5000\n          MONGO_URI=\u003cyour-mongodb-connection-string\u003e\n          JWT_SECRET=\u003cyour-jwt-secret-key\u003e\n          ```\n\n2. Create a `.env` file in the `frontend` directory and add the following:\n\n          ```env\n          VITE_API_BASE_URL=http://localhost:5000\n          ```\n\n---\n\n## Open for Contribution\n\nFinanceFlow is an open-source project, and contributions are welcome! If you'd like to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bugfix:\n\n          ```sh\n          git checkout -b feature/your-feature-name\n          ```\n\n3. Commit your changes:\n\n          ```sh\n          git commit -m \"Add your commit message here\"\n          ```\n\n4. Push your changes to your forked repository:\n\n          ```sh\n          git push origin feature/your-feature-name\n          ```\n\n5. Open a pull request with a detailed description of your changes.\n\n---\n\n## Future Enhancements\n\n- **Data Visualization**: Add charts and graphs to visualize spending patterns.\n- **Reports**: Generate monthly or yearly financial reports.\n- **Multi-User Support**: Allow families or teams to share budgets and expenses.\n- **Mobile App**: Develop a cross-platform mobile app using React Native.\n- **Export Data**: Allow users to export their budget and expense data as CSV or PDF.\n\n---\n\n## Acknowledgments\n\n- Special thanks to the open-source community for providing the tools and libraries that made this project possible.\n\n---\n\n## Author\n\n- **[rudra-xi](https://github.com/rudra-xi)**: Developer and maintainer of FinanceFlow.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [![License: MIT](https://img.shields.io/badge/License-MIT-orange.svg)](/LICENSE) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frudra-xi%2Ffinance-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frudra-xi%2Ffinance-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frudra-xi%2Ffinance-flow/lists"}