Skip to content

A professional web application for browsing, purchasing, and managing CFD/FEA engineering solutions. Built for simulation engineers and organizations.

Notifications You must be signed in to change notification settings

ngoducphi12761/simforge-platform

Repository files navigation

PROJECT REPORT

Project Title: SimForge Platform – A Web-Based Marketplace for CFD and FEA Engineering Solutions

Problem Statement

Objective: To design and implement SimForge Platform, a full-stack e-commerce web application tailored for the distribution of ready-to-use CFD and FEA engineering solutions. The platform serves as a bridge between engineering experts and clients across aerospace, automotive, energy, and manufacturing sectors, providing instant access to high-value simulation deliverables.

Objective Analysis

Target Audience:

  1. Professionals: Engineers and scientists involved in CFD and FEA projects in industries like aerospace, automotive, and energy.
  2. Researchers: Academics and students in universities and research institutions.
  3. Organizations: Companies that need simulation tools for product development, optimization, or compliance.

Requirements Analysis:

  • Show a list of products
  • Add products to shopping cart (CRUD)
  • Shopping cart checkout
  • User login/logout security
  • Track previous orders for logged-in users

Software Modeling

Include UML diagrams such as use case diagrams, class diagrams, or sequence diagrams as applicable.

Frontend Class Diagrams

Picture1

Backend Class Diagrams

Picture2


Architecture

Monolithic Architecture

Picture3 Technologies Used:

  • Back-end:
    • Spring Boot, Spring MVC, Spring Data JPA, OKTA Spring Security, MapStruct
    • Database: MySQL
    • Authentication and Authorization: JWT token
    • Testing: JUnit, Mockito, Postman
  • Front-end:
    • Angular 14.7
    • Bootstrap
    • OKTA: A standards-compliant OAuth 2.0 authorization server

ER Diagram

Picture4


Local Setup Instructions

6.1 Back-end

  1. Setup database connection in application.properties.
  2. Start the application:
    • When the application starts, it creates database products, countries, and states. The setup is in config/SetupInitialData.java.

Step-by-step instructions:

  • (Include detailed setup instructions and necessary screenshots such as database configuration and running the application)

6.2 Front-end

  1. Configure API URL in app/service/constant.ts.
  2. Start the application:
    • In the command line, type npm start to run the script for HTTPS.

Azure Setup Instructions

Using Docker Compose to deploy back-end APIs and MySQL on Azure App Services:

  1. Create a Dockerfile for the back-end to build the image.
  2. Create a Docker Compose file including MySQL and back-end API.
  3. Create a JAR file (ensure to comment out database information in application.properties to avoid deployment issues):
    mvn clean package -DskipTests
  4. Build docker image for back-end API
    docker build -t phiducngo/cfd-fea-api:1.0.4 .
  5. Push back-end image to Docker Hub (https://hub.docker.com/)
    docker push phiducngo/cfd-fea-api:1.0.4
  6. Create Web App Go to App Services, create Web App and select Publish as Container. image

In Deployment -> Deployment Center, configure

  • Container type: Docker Compose

  • Registry source: Docker Hub

  • And upload the Docker compose file prepared into Config textbox Picture5 Picture6 Picture7

About

A professional web application for browsing, purchasing, and managing CFD/FEA engineering solutions. Built for simulation engineers and organizations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published