Skip to content

Full-stack itemset mining app with Java (Spring Boot, Maven) backend, Python classifier API, React frontend, and Swagger UI documentation.

Notifications You must be signed in to change notification settings

mathusanm6/Project-CGKS

Repository files navigation

Project CGKS: Declarative & Specialized Itemset Mining

This project is a full-stack application for itemset mining, featuring:

  • A Java backend (Spring Boot, Maven)
  • A Python model (training and classifier API)
  • A React frontend
  • Swagger UI documentation

Demo

Table of Contents

Prerequisites

  • Python 3.8+ (for model training and classifier API)
  • Node.js 16+ & npm (for frontend)
  • Java 11+ (for backend)
  • Maven (for backend build)
  • Make (to use provided Makefile)

Ensure all prerequisites are installed and available in your PATH. If you encounter issues with permissions or missing dependencies, check your environment and install any missing tools.

Project Structure

📂 Root Directory

Quick Start

1. Clone the repository

git clone https://github.com/mathusanm6/Project-CGKS.git
cd Project-CGKS

2. Set up and build the project

# Ensure you are in the root directory of the project
make prep

This will:

  • Create a Python virtual environment and install requirements
  • Resolve Java dependencies and build the backend
  • Build the React frontend

3. Run the project

1. Train the Python model (optional)

# In the Python virtual environment
make model

This runs the training script and copies the trained model to the backend resources. Since the trained model is already provided, you don't have to do it.

2. Run the backend (Spring Boot)

# Ensure you are in the root directory of the project
make api

The backend will start on the default port (8080).

3. Run the Python classifier API

# Ensure you are in the root directory of the project
make selector
# Ensure you are in the root directory of the project
make selector

This starts the Python API for classification. It will run on port 3001 by default.

4. Serve the React frontend

# Ensure you are in the root directory of the project
make ui

The frontend will be available at http://localhost:3000.

5. Serve the Swagger UI documentation

# Ensure you are in the root directory of the project
make docs
# Ensure you are in the root directory of the project
make docs

The docs will be available at http://localhost:8000.

Additional Commands

  • make test — Run Java unit tests
  • make clean — Clean Java build artifacts

Contributors

First Name Last Name GitHub ID
Jewin CHENG @jewinc
Tiphaine GAYET @tiphaine-gayet
Aleksandra KOVIAZINA @KoviazinaA
Mathusan SELVAKUMAR @mathusanm6

About

Full-stack itemset mining app with Java (Spring Boot, Maven) backend, Python classifier API, React frontend, and Swagger UI documentation.

Topics

Resources

Stars

Watchers

Forks