Skip to content

anusthan12/HRC-Training-Summer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HRC Summer Internship — HRC

A full-stack B2B Invoice Management Web Application built during an internship at HRC, featuring a receivables dashboard, ML-powered payment prediction, and real-time invoice operations.

Python React Flask Redux MIT License


Problem Statement

In B2B commerce, seller businesses issue invoices to buyer businesses operating on credit. Tracking whether invoices are paid on time — or predicting when they will be — is a critical accounts receivable challenge. This application solves that by providing a unified dashboard to manage, visualize, and predict invoice payment timelines.


Tech Stack

Backend

  • MySQL — Relational database for invoice data
  • Java + JDBC + Servlets — API layer and database connectivity
  • Tomcat 10 — Servlet server
  • Python 3 + Flask — Server for the ML prediction model

Frontend

  • React 18 — Component-based UI
  • Redux Toolkit + Redux Thunk — State management
  • Axios — API communication
  • Tailwind CSS — Styling
  • Highcharts — Data visualization (graphs)
  • Material UI — UI component library

ML Pipeline

  • Models evaluated: Linear Regression, SVM, Decision Tree, Random Forest, AdaBoost, XGBoost
  • Techniques: Data preprocessing, EDA, feature engineering, hyperparameter tuning (Grid Search)
  • Metric: RMSE, R², MSE for regression evaluation

Application Objectives

Web Application

  • Responsive Receivables Dashboard with grid and graph data visualization
  • Search, Add, Edit, and Delete invoice records
  • Full-stack integration: ReactJS ↔ Java Servlets ↔ MySQL

Machine Learning

  • View invoice data across multiple buyers
  • Perform data preprocessing and exploratory data analysis
  • Predict the expected payment date for each invoice

Learning Outcomes

Machine Learning — End-to-end pipeline from raw data import through preprocessing, multi-model evaluation, and hyperparameter tuning to final model selection.

Java — Core Java fundamentals, OOP, SQL, JDBC for database connectivity, Servlets for request handling, Java EE for web development.

React JS — Component architecture, JSX, props, state, hooks (useState, useEffect, useContext, useReducer), form handling, event management, and integration with Material UI, Highcharts, and Axios + Flask backend.


Project Structure

Path Description
client/src/ React frontend source
server/src/main/java/crud/ Java Servlet backend
ml/*.ipynb Jupyter Notebook — ML prediction model
ml/dataset.csv Raw invoice dataset
database/*.sql MySQL schema and setup

Author

Built and maintained by Anusthan Singh · © 2025