FIT Scholar
Archive

Welcome to our Webapp

This application helps you calculate and find optimal solutions in Game Theory and Stable Matching Theory problems. Powered by Genetic Algorithms, Java Spring Boot, and the MOEA Framework, it delivers accurate and scalable solutions. A detailed manual is included to help you get started quickly and make the most of every feature.

Compability

PlatformVersionStatusNote
Windows10N/AUntested
Windows11WorkingTested
WSLUbuntuWorkingPwithFront stuck on unpacking node
LinuxUbuntuWorkingTested, Deployed
LinuxDebianN/AUntested
MacN/AN/AUntested

Requirement

GitJDK 17 (Temurin/ OpenJDK)Maven 3.8.3+ (or use wrapper in project)
Game Theory
Stable Matching

Local Installation

Step 1: Clone the Repository

First, clone the GA-Application-Java repository from GitHub.

git clone https://github.com/FitHanuSpecialSubject/GA-Application-Java.git

Step 2: Navigate to Directory

Change your working directory to the newly cloned repository folder.

cd GA-Application-Java

Step 3: Build the project

  • Maven Wrapper (Recommended)
  • Windows

Windows Terminal

.\mvnw.cmd clean install
  • Linux

Linux Terminal

bash ./mvnw clean install
  • System Maven (Requires Maven installation)

Terminal

mvn clean install

Step 4: Install Webapp (Optional)

Optionally install the frontend application using Maven profile for full-stack development.

Terminal

mvn clean install -PwithFront

Step 5: Run Backend

Start the backend service using one of the following methods.

  • Maven Profile

Terminal

mvn verify -DskipTests -PstartBE

Step 6: Verify Backend

Confirm that the backend is running correctly by checking the browser output.

  • Open your web browser
  • Navigate to localhost:8080
  • Verify the application is running

Step 7: Run Webapp (Optional)

Start the frontend application for a complete development environment.

Terminal

mvn verify -DskipTests -Dskip.node-and-npm.install -PstartFE

Important Notes:

  • Process runs separately from backend
  • May need manual termination: npx cross-port-killer 3000
  • Server will start at localhost:3000

Step 8: Expected Output – Backend

This is what you should see when the backend service starts successfully.

Success Indicators:

  • Server starts without errors
  • Application context loads successfully
  • REST endpoints are available

Step 9: Expected Output – Verification

This is what you should see on browser when application starts successfully.

Success Indicators:

  • Development server starts on port 8080
  • React application loads without errors
  • Hot reload functionality works
  • Browser opens automatically to localhost:8080

Solve Process

Step 1: Prepare Input Data

Prepare and upload your input data file following the required format specifications.

Optimization Tips:

  • Use smaller datasets for initial testing
  • Ensure input data is complete and syntax-corrected
  • Verify data is correctly formatted

Step 2: Configure the Solver

Set up your solver parameters and select the appropriate algorithm for your problem type.

Configuration Parameters

Algorithm TypeSelect problem-specific algorithm
Distributed CoresNumber of CPU cores to utilize
Population SizeSize of the solution population
Crossover GenerationsNumber of genetic generations
Max Execution TimeMaximum optimization duration

Step 3: Execute Solve Process

Start the optimization process and monitor the solving progress in real-time.

  • Click “Solve Now”: Initiate the solving process
  • Monitor Progress: Watch the optimization in real-time
  • Wait for Completion: Results will appear automatically

Step 4: Get Result Insight

Generate comprehensive insights by running multiple algorithms for detailed analysis. After running GetInsight, users can export results and images using the “Export” feature.

Important Notices:

GetInsight may take considerable time. Do not close the browser tab or shut down your computer during execution to avoid losing your session.

Step 5: Analyze GT Results

Examine Game Theory results including player strategies, scores, and performance metrics.

  • Strategy Analysis: Review optimal player strategies
  • Score Comparison: Compare player performance
  • Multi-Run Analysis: Compare results across runs
  • Export Results: Download final visualizations

Example Demo

Choose Algorithm

Results

Insights

Local Installation

Step 1: Clone the Repository

First, clone the GA-Application-Java repository from GitHub.

git clone https://github.com/FitHanuSpecialSubject/GA-Application-Java.git

Step 2: Navigate to Directory

Change your working directory to the newly cloned repository folder.

cd GA-Application-Java

Step 3: Build the project

  • Maven Wrapper (Recommended)
  • Windows

Windows Terminal

.\mvnw.cmd clean install
  • Linux

Linux Terminal

bash ./mvnw clean install
  • System Maven (Requires Maven installation)

Terminal

mvn clean install

Step 4: Install Webapp (Optional)

Optionally install the frontend application using Maven profile for full-stack development.

Terminal

mvn clean install -PwithFront

Step 5: Run Backend

Start the backend service using one of the following methods.

  • Maven Profile

Terminal

mvn verify -DskipTests -PstartBE

Step 6: Verify Backend

Confirm that the backend is running correctly by checking the browser output.

  • Open your web browser
  • Navigate to localhost:8080
  • Verify the application is running

Step 7: Run Webapp (Optional)

Start the frontend application for a complete development environment.

Terminal

mvn verify -DskipTests -Dskip.node-and-npm.install -PstartFE

Important Notes:

  • Process runs separately from backend
  • May need manual termination: npx cross-port-killer 3000
  • Server will start at localhost:3000

Step 8: Expected Output – Backend

This is what you should see when the backend service starts successfully.

Success Indicators:

  • Server starts without errors
  • Application context loads successfully
  • REST endpoints are available

Step 9: Expected Output – Verification

This is what you should see on browser when application starts successfully.

Success Indicators:

  • Development server starts on port 8080
  • React application loads without errors
  • Hot reload functionality works
  • Browser opens automatically to localhost:8080

Solve Process

Step 1: Prepare Input Data

Prepare and upload your input data file following the required format specifications.

Optimization Tips:

  • Use smaller datasets for initial testing
  • Ensure input data is complete and syntax-corrected
  • Verify data is correctly formatted

Step 2: Configure the Solver

Set up your solver parameters and select the appropriate algorithm for your problem type.

Configuration Parameters

Algorithm TypeSelect problem-specific algorithm
Distributed CoresNumber of CPU cores to utilize
Population SizeSize of the solution population
Crossover GenerationsNumber of genetic generations
Max Execution TimeMaximum optimization duration

Step 3: Execute Solve Process

Start the optimization process and monitor the solving progress in real-time.

  • Click “Solve Now”: Initiate the solving process
  • Monitor Progress: Watch the optimization in real-time
  • Wait for Completion: Results will appear automatically

Step 4: Get Result Insight

Generate comprehensive insights by running multiple algorithms for detailed analysis. After running GetInsight, users can export results and images using the “Export” feature.

Important Notices:

GetInsight may take considerable time. Do not close the browser tab or shut down your computer during execution to avoid losing your session.

Step 5: Analyze SMT Results

Review the Stable Marriage Theory results showing matched pairs and optimization outcomes.

  • Matched Pair Table: View successfully matched pairs
  • Unmatched Items: Identify items that couldn’t be matched
  • Visual Dashboard: Interactive charts and graphs
  • Filter & Export: Focus on specific insights

Example Demo

Choose Algorithm

Results

Insights

Download Resources

Access the full documentation and project files from our Google Drive.