Giter Club home page Giter Club logo

invoicemanage's Introduction

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

invoicemanage's People

Watchers

CozyFox avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.