Turns banking data into proactive business insights.
FinSight is an AI-powered business advisor designed to help small and medium-sized enterprises (SMEs) better understand their financial health.
The platform aims to provide proactive insights such as:
- Cash flow forecasting
- Invoice payment risk detection
- Unusual expense detection
- Financial health insights
- Financing recommendations
- AI-powered business advisory
Before running the project, make sure the following are installed:
- Git
- Python 3.9 or later
- Node.js
- npm
Verify the installations:
git --version
python3 --version
node --version
npm --versionClone the repository:
git clone <repository-url>Navigate to the project directory:
cd FinSightThe project structure is:
FinSight/
├── .github/
│ └── workflows/
│ └── backend-build.yml
│
├── backend/
│ ├── api/
│ ├── services/
│ ├── tests/
│ ├── app.py
│ ├── pytest.ini
│ └── requirements.txt
│
├── frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── vite.config.js
│
├── .gitignore
└── README.md
Navigate to the backend directory:
cd backendCreate a Python virtual environment:
python3 -m venv .venvActivate the virtual environment.
source .venv/bin/activate.venv\Scripts\activateInstall the backend dependencies:
python -m pip install -r requirements.txtRun the backend application:
python app.pyThe Flask backend will run on:
http://localhost:5000
Test the health endpoint:
http://localhost:5000/api/health
Test the cash flow forecast endpoint:
http://localhost:5000/api/cashflow/forecast
Make sure the virtual environment is activated.
From the backend directory, run:
python -m pytestStop the Flask server using:
Ctrl + C
Deactivate the Python virtual environment:
deactivateOpen another terminal and navigate to the frontend directory:
cd FinSight/frontendInstall the frontend dependencies:
npm installRun the frontend development server:
npm run devThe frontend will usually run on:
http://localhost:5173
Open the address shown by Vite in your browser.
The backend and frontend must run simultaneously.
Terminal 1:
cd FinSight/backend
source .venv/bin/activate
python app.pyTerminal 2:
cd FinSight/frontend
npm install
npm run devThe application architecture is:
Browser
│
▼
React + Vite
localhost:5173
│
│ /api/*
▼
Vite Development Proxy
│
▼
Flask Backend
localhost:5000
Run the development server:
npm run devRun ESLint:
npm run lintCreate a production build:
npm run buildCreate a development branch or feature branch before making changes:
git checkout -b feature/<feature-name>After making changes:
git add .
git commit -m "Describe your changes"
git push origin feature/<feature-name>Create a Pull Request to merge your changes into the appropriate target branch.
Do not commit:
- Python virtual environments (
.venv) node_modules.envfiles- API keys or credentials
- Build outputs (
dist)
GitHub Actions is used to run automated backend tests for Pull Requests targeting the main branch.
The backend CI workflow:
- Checks out the repository.
- Sets up Python.
- Installs backend dependencies.
- Runs the test suite using
pytest. - Reports the build status on the Pull Request.
This project is currently intended for hackathon and demonstration purposes.