- Introduction
- Features
- Technologies
- Project Structure
- Setup and Installation
- Usage
- Endpoints
- Contributing
- License
- Contact
Personal Finance Manager is a web application that allows users to manage their finances by tracking income, expenses, and savings. Users can visualize their financial data using charts and set financial goals to achieve better financial health.
- User authentication (register, login, logout)
- Add, edit, delete transactions (income and expenses)
- Categorize transactions
- Dashboard with financial data visualization (charts)
- Generate monthly and yearly financial reports
- Set and track financial goals
- Node.js
- Express
- MongoDB
- JWT (JSON Web Tokens)
- Bcrypt.js
- React
- React Router
- Axios
- Chart.js
- React Chart.js 2
server/
│
├── config/
│ └── db.js
│
├── controllers/
│ ├── authController.js
│ └── financeController.js
│
├── models/
│ ├── User.js
│ └── Transaction.js
│
├── routes/
│ ├── authRoutes.js
│ └── financeRoutes.js
│
├── middleware/
│ └── authMiddleware.js
│
├── .env
├── server.js
└── package.json
client/
│
├── public/
│ └── index.html
│
├── src/
│ ├── components/
│ │ ├── Auth/
│ │ │ ├── Login.js
│ │ │ ├── Register.js
│ │ │
│ │ ├── Finance/
│ │ │ ├── AddTransaction.js
│ │ │ ├── TransactionList.js
│ │ │ └── TransactionChart.js
│ │ │
│ │ ├── Layout/
│ │ │ ├── Header.js
│ │ │ ├── Footer.js
│ │ │
│ ├── pages/
│ │ ├── Home.js
│ │ ├── Dashboard.js
│ │ ├── Login.js
│ │ ├── Register.js
│ │
│ ├── App.js
│ ├── index.js
│
├── .env
├── package.json
└── README.md
- Node.js (v14.x or higher)
- MongoDB
-
Clone the repository and navigate to the
server
directory:git clone https://github.com/your-username/personal-finance-manager.git cd personal-finance-manager/server
-
Install backend dependencies:
npm install
-
Create a
.env
file in theserver
directory and add your MongoDB URI and JWT secret:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key
-
Start the backend server:
node server.js
-
Navigate to the
client
directory:cd ../client
-
Install frontend dependencies:
npm install
-
Start the React development server:
npm start
-
Open your browser and go to
http://localhost:3000
to see the application.
- Register a new user.
- Log in with the registered user credentials.
- The dashboard will be accessible upon successful login.
- Add new income or expense transactions.
- Edit or delete existing transactions.
- Categorize transactions for better organization.
- View an overview of your financial data.
- Visualize income and expenses using charts.
- Track financial goals.
POST /api/auth/register
: Register a new user.POST /api/auth/login
: Log in an existing user.
POST /api/finance/transaction
: Add a new transaction.GET /api/finance/transactions
: Get all transactions for the logged-in user.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes with clear and descriptive messages.
- Push your changes to your fork.
- Submit a pull request with a detailed description of your changes.
For questions or suggestions, please contact:
- Keith Lamb: [email protected]
- GitHub: Keith-Lamb