BudgetWise is a personal finance management app designed to help users track their income and expenses, set budgets, and visualize their spending habits.
- Secure user authentication and registration
- Linking bank accounts via Plaid
- Tracking income and expenses
- Setting and monitoring budgets
- Generating financial reports and insights
- Frontend: React (JavaScript)
- Backend: Node.js (JavaScript) with Express
- Database: PostgreSQL
- APIs: Plaid for bank integration
- Authentication: OAuth 2.0
budgetwise/ ├── backend/ │ ├── .env │ ├── index.js │ ├── package.json │ ├── Dockerfile │ ├── routes/ │ │ ├── auth.js │ │ ├── transactions.js │ │ ├── budget.js │ │ ├── report.js │ └── models/ │ └── user.js ├── frontend/ │ ├── public/ │ ├── src/ │ │ ├── components/ │ │ │ ├── Login.js │ │ │ ├── Register.js │ │ │ ├── Transactions.js │ │ │ ├── Budget.js │ │ │ ├── Report.js │ │ ├── App.js │ │ ├── index.js │ ├── .env │ ├── package.json │ ├── Dockerfile └── README.md
- Node.js
- PostgreSQL
- Docker
- Navigate to the backend directory:
cd backend
Install dependencies:
bash Copy code npm install Create a .env file and add your environment variables:
env Copy code JWT_SECRET=your_jwt_secret PLAID_CLIENT_ID=your_plaid_client_id PLAID_SECRET=your_plaid_secret Start the backend server:
bash Copy code npm start (Optional) Build and run the Docker container:
bash Copy code docker build -t budgetwise-backend . docker run -p 5000:5000 budgetwise-backend
Frontend Setup Navigate to the frontend directory: cd frontend
Install dependencies: npm install
Create a .env file and add your environment variables: REACT_APP_API_URL=http://localhost:5000
Start the frontend server: npm start
(Optional) Build and run the Docker container: docker build -t budgetwise-frontend . docker run -p 3000:3000 budgetwise-frontend
Contributing Feel free to fork the repository and make contributions. Pull requests are welcome!
License This project is licensed under the MIT License.
vbnet
This README provides an overview of the project, a breakdown of the features and technology stack, the project structure, and instructions for getting started with the backend and frontend setups.