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.
Target Audience:
- Professionals: Engineers and scientists involved in CFD and FEA projects in industries like aerospace, automotive, and energy.
- Researchers: Academics and students in universities and research institutions.
- 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
Include UML diagrams such as use case diagrams, class diagrams, or sequence diagrams as applicable.
- 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
- Setup database connection in
application.properties
. - Start the application:
- When the application starts, it creates database products, countries, and states. The setup is in
config/SetupInitialData.java
.
- When the application starts, it creates database products, countries, and states. The setup is in
Step-by-step instructions:
- (Include detailed setup instructions and necessary screenshots such as database configuration and running the application)
- Configure API URL in
app/service/constant.ts
. - Start the application:
- In the command line, type
npm start
to run the script for HTTPS.
- In the command line, type
Using Docker Compose to deploy back-end APIs and MySQL on Azure App Services:
- Create a
Dockerfile
for the back-end to build the image. - Create a Docker Compose file including MySQL and back-end API.
- Create a JAR file (ensure to comment out database information in
application.properties
to avoid deployment issues):mvn clean package -DskipTests
- Build docker image for back-end API
docker build -t phiducngo/cfd-fea-api:1.0.4 .
- Push back-end image to Docker Hub (https://hub.docker.com/)
docker push phiducngo/cfd-fea-api:1.0.4
- Create Web App
Go to App Services, create Web App and select Publish as Container.
In Deployment -> Deployment Center, configure