Skip to content

pradumn203/AI-enabled-B2B-fintech-invoice-management-system

Repository files navigation

AI-Enabled-FinTech-B2B-Invoice-Management-Application

A web application to help the people working in the Accounts Receivable departments in their day-to-day activities. Made with :
ReactJs JAVA JavaScript Python Chart.js

Database used:
MYSQL

Preferred IDEs:
Eclipse Visual Studio Code Jupyter Notebook

Steps to run

Database setup:

Make sure you have MYSQL installed with default user and password as 'root'. If you have used other username and password than 'root' then you need to make changes in many files in the backend. So reconfigure your SQL server and make the user and password as 'root'.
Import the invoice dataset.sql file into mysql workbench.

Backend Setup:

Make sure that you have JAVA 8 JDK installed and enviornment paths configured accordingly. Make sure you have eclipse photon installed in your system. You can work on other IDEs like PyCharm also.

1- Create a new dynamic web app project in eclipse. Make sure you mark the checkbox asking to add the project descriptor file while creating the app.
2- From the repo all folders and files required are there. Copy all the src files to your project src directory.
3- Change the code of /WebContent/WEB-INF/web.xml of your project with the one in the repo web.xml file.
4- Copy all the JAR files from /WebContent/WEB-INF/lib folder to the same folder of your project.
5- In the .classpath file of your project add the following lines after line number 10:

<classpathentry kind="lib" path="./WebContent/WEB-INF/lib/gson-2.2.2.jar"/>
<classpathentry kind="lib" path="./WebContent/WEB-INF/lib/mysql-connector-java-8.0.26.jar"/>
<classpathentry kind="lib" path="./WebContent/WEB-INF/lib/servlet-api.jar"/>

6- Download the apache tomcat server folder and extract it somewhere. Link for the same : Click Here
7- In the servers tab of eclipse IDE, choose the option to add new server and browse he tomcat directory and follow the rest of the instructions.
8- Run the project by right clicking on the project name---> Run As------> Run on server.

Frontend Setup:

Make sure you have nodejs installed on your system. Visual Studio Code IDE is preferred.
1- Open the reactjs-frontend folder in VS code and a open a new terminal of VS Code.
2- Run the below commands one at a time to install all the libraries:

npm install

npm i es6-promise isomorphic-fetch

npm install @mui/icons-material

npm i @emotion/react @emotion/styled

npm i react-chartjs-2 chart.js

3- Then finally run the web-app using the below command:

npm start

Sources of error in frontend

Maybe your tomcat server is running at some other port than 8081 then you have to make the few changes in the urls in the frontend files present in /src/components folder.
Change the following files accordingly:

  • AddBtn.js - Line 142
  • AnalyticView.js - Line 192
  • Chart.js - Line 44
  • Datatable.js - Line 61
  • DeleteBtn.js - Line 117
  • EditBtn.js - Line 149
  • Predict.js - Line 154

Prediction Setup:

  1. Uninstall all previous versions of Python and Anaconda from your system. Install the anaconda with Python 3.6. The link to the same can be found here:
  2. While installing the anaconda make sure that you check mark on 'Add path to Enviornment variables' otherwise you have to reinstall or perform complex steps by googling yourself.
  3. Update the pandas and flask libraries and install xgboost by running the below commands in a new terminal or anaconda prompt:
pip install --upgrade pandas --user

pip install --upgrade flask --user

pip install xgboost pandas --user
  1. Run the Integration.ipynb in the flask-integration folder using jupyter notebook.

Demo of the CRUD operations, Predict and Analytics Feature:

1. Add a Record:

add.mp4

2. Edit a Record:

edit.mp4

3. Delete a Record:

delete.mp4

4. Search and Advanced Search:

search.mp4

5. Predict:

predict.mp4

6. Analytics View:

analytics.mp4

About

A web application made with ReactJS and JAVA Servlets to help the people working in the Accounts Receivable departments in their day-to-day activities.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published