Skip to content

An IT System for Managing Control System Faults on the Mining Railways

Notifications You must be signed in to change notification settings

AndrzejSzelag/fms

Repository files navigation

FMS (Fault Management System)

IT System for Managing Control System Faults on the Mining Railways

url3.java

Tech Stack

  • 🔶 Java 17.0.6 LTS
  • 🔶 Java Persistence API 2.2
  • 🔶 Java Transaction API 1.2
  • 🔶 Context and Dependency Injection 2.0
  • 🔶 Enterprise JavaBeans 3.2
  • 🔶 JavaServer Faces 2.3
  • 🔶 Lombok 1.18.26
  • 🔶 BootsFaces 1.5.0
  • 🔶 PrimeFaces 10.0.0 (icons)

Environment

  • 🔶 Java EE 8.0.1
  • 🔶 Apache Maven 3.8.6
  • 🔶 Payara Server 5.2021.10
  • 🔶 Oracle Database 21c Express Edition
  • 🔶 IntelliJ IDEA 2023.1.1

Video

🚀 Management of user accounts by Administrator

🚀 Fault management by Supervision and Electrician

Requirements & How to run

  1. Log into Windows 11 Pro with a user that is a direct member of the Administrators group.

  2. Download the Java 17.0.6 LTS (x64 MSI Installer) and install to a local directory.

  3. Download the Apache Maven 3.8.6 (Binary zip archive) and extract zip file to a local directory.

  4. Download the Oracle Database 21c Express Edition (.zip), extract zip file to a local directory and run setup.exe. After installation:

    • verify if Oracle Database 21c Express Edition runs,

    • create a new database user (e.g. system) and database password (e.g. pa$$w0rd) - you will need this data in DataSource.java before starting to use the FMS application:

        // DataSource.java 
        package pl.szelag.config;
      
        import javax.annotation.sql.DataSourceDefinition;
        import javax.ejb.Singleton;
        import java.sql.Connection;
      
        @Singleton
        @DataSourceDefinition(
                 name = "java:app/jdbc/FMSDescriptorDS",
                 className = "oracle.jdbc.OracleDriver",
                 url = "jdbc:oracle:thin:@localhost:1521:XE",
                 user = "system",
                 password = "pa$$w0rd",
                 isolationLevel = Connection.TRANSACTION_READ_COMMITTED)
        public class DataSource {
        }
      
  5. Download the Payara Server 5.2021.10 (.zip) and extract zip file to a local directory.

  6. In command line Windows, copy file ojdbc11.jar from the Oracle Database 21c Express Edition to the Payara Server 5.2021.10:

    copy %ORACLE_HOME%\jdbc\lib\ojdbc11.jar %PAYARA_HOME%\glassfish\domains\domain1\lib
    
  7. In command line Windows, start default domain on the Payara Server 5.2021.10:

     %PAYARA_HOME%\bin\asadmin start-domain
    
  8. Clone a Github Repository:

    • From Github Repository, click on Clone

    • Copy the clone URL

    • In command line Windows, go to partition D:

    • Use the git clone command along with the copied URL:

      git clone https://github.com/AndrzejSzelag/fms.git
      
  9. In command line Windows, go to folder D:\fms, and run command:

    mvn clean install
    
  10. In command line Windows, go to folder D:\fms\target and deploy file FMS-1.0.war to the Payara Server 5.2021.10.

    %PAYARA_HOME%\bin\asadmin deploy FMS-1.0.war
    
  11. Load test data from the script D:\fms\src\main\resources\data.sql to the Oracle Database 21c Express Edition with usining Oracle SQL Developer, SQL Plus etc.

  12. In your Web browser,

    • paste a URL:

      https://localhost:8181/FMS
      
    • click on Advanced

    • click on Continue to localhost (unsafe)

You should see the home page of the FMS application (hint: first photo) and log in with using the following logins and password.

Logins for confirmed and activated test users:

  • AndrzejSzelag (administrator)
  • TomaszDominiak (supervision)
  • ArekStolecki (electrician)

Default password for all test users: 12345678

Description

👉 The Fault Management System (FMS) is my first business application in Java programming language, summarizing the knowledge I gained in the postgraduate degree Modern business applications Java/Jakarta EE at Lodz University of Technology.

👉 This application was created with using Apache Maven and Java EE technology with many different standards, such as JPA, JTA, EJB, CDI, JSF etc. It also uses the advanced tools, such as Oracle Database XE and Payara Server.

Releases

No releases published

Packages

No packages published