Project name - Personal Finance Management and Forecasting Application
This project is Finance Management and Prediction Using available or past Data
- Prerequisites
- Installation
- Running the Application
- Project Structure
- Available Scripts
- Dependencies
- Host platform
Ensure you have the following installed on your machine:
- Node.js (version 14.x or later)
- npm (Node package manager, comes with Node.js)
-
Clone the repository:
git clone https://github.com/Ganeshshit/FinanceManageApp.git cd FinanceManageApp cd server
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env
file in the root directory of the project and add your environment variables. For example:PORT=3000 MONGO_URI=mongodb://localhost:27017/your-database Or MONGO_URI="mongodb+srv://gsb021:[email protected]/" PORT=1337
-
Start the development server:
npm run dev
This will start the server using
nodemon
, which automatically restarts the server when file changes are detected.
Server
└──
├── data
│ └──data.js
├── models
│ ├── KPI.js
│ ├── product.js
│ └── Transaction.js
├── routes
│ ├── daily-data.routes.js
│ ├── kpi.routes.js
│ ├── product.routes.js
│ └── transaction.routes.js
├── node_modules
├── index.js
├── .env
├── .gitignore
├── package.json
└── README.md
- body-parser: Middleware to parse incoming request bodies.
- cors: Middleware to enable Cross-Origin Resource Sharing.
- dotenv: Loads environment variables from a .env file.
- express: Fast, unopinionated, minimalist web framework for Node.js.
- helmet: Helps secure Express apps by setting various HTTP headers.
- mongoose: MongoDB object modeling tool designed to work in an asynchronous environment.
- mongoose-currency: Mongoose schema type for currency values.
- morgan: HTTP request logger middleware.
- nodemon: Utility that monitors for any changes in your source and automatically restarts your server.
cd client
```bash
npm install
```
Create a .env
file in the root directory of the project and add your environment variables. For example:
VITE_BASE_URL=http://localhost:1337
-
Start the development server:
npm run dev
.
├── node_modules
├── public
│ ├── vite.svg
│ └── ...
├── src
│ ├── assets
│ │ └── images
│ ├── components
│ │ └── Boxheader.tsx
| | ├──DashbardBox.tsx
|
│ ├── pages
│ │ └── HomePage.js
│ ├── services
│ │ └── api.js
│ ├── styles
│ │ └── main.css
│ ├── App.js
│ ├── index.js
│ └── ...
├── .env
├── .gitignore
├── package.json
└── README.md
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
export default {
// other rules...
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
}
-
Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
-
Optionally add
plugin:@typescript-eslint/stylistic-type-checked
-
Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list