The Personal Finance Management App is a web application designed to help users manage their personal finances. It allows users to track their income and expenses, set financial goals, and visualize their spending with charts. The app uses React.js for the frontend, Firebase for authentication and data storage, and Redux for state management.
- User Authentication: Sign up, log in, and manage user accounts using Firebase Authentication.
- Dashboard: View a summary of income, expenses, and savings goals.
- Transaction Management: Add, edit, and delete transactions. Transactions can be categorized as income or expenses.
- Budget Planning: Set and manage budgets and financial goals.
- Data Visualization: View expenses and income using pie charts with Chart.js.
- Responsive Design: Optimized for desktop and mobile devices.
- Frontend: React.js, Redux, React Router, Tailwind CSS, Chart.js
- Backend: Firebase Authentication, Firebase Firestore for data storage
- State Management: Redux Toolkit
To get started with the app, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/finance-app.git cd finance-app
-
Install dependencies:
npm install
-
Set up Firebase:
- Create a Firebase project in the Firebase Console.
- Configure Firebase Authentication and Firestore.
- Create a
.env
file in the root directory and add your Firebase configuration:REACT_APP_FIREBASE_API_KEY=your-api-key REACT_APP_FIREBASE_AUTH_DOMAIN=your-auth-domain REACT_APP_FIREBASE_PROJECT_ID=your-project-id REACT_APP_FIREBASE_STORAGE_BUCKET=your-storage-bucket REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id REACT_APP_FIREBASE_APP_ID=your-app-id
-
Run the app:
npm start
The app will be available at
http://localhost:3000
.
- Sign Up: Create a new account using the Sign Up page.
- Log In: Access your account using the Login page.
- Dashboard: After logging in, you'll be redirected to the Dashboard where you can view your financial summary and manage transactions.
- Manage Transactions: Add, edit, or delete income and expense transactions.
- Set Goals: Use the dashboard to set and track your financial goals.
- Log Out: Click the Log Out button to exit your account.
src/components/
: Contains reusable components likeDashboard
,ChartComponent
.src/pages/
: Contains page components forLoginPage
,SignupPage
,HomePage
.src/redux/
: Contains Redux slices and store configuration.src/firebaseConfig.js
: Firebase configuration and initialization.src/App.js
: Main application component with routing setup.src/index.js
: Entry point of the application.
Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or feedback, feel free to reach out:
- GitHub: Ajit49