Skip to content

IT System for Managing Railway Traffic Control (RTC) System Failures on Mining Railways is a Java EE enterprise application with an MVC architecture and the Facade structural design pattern for simplified subsystem access.

Notifications You must be signed in to change notification settings

AndrzejSzelag/fms

Repository files navigation

FMS (Fault Management System)

Java EE Maven Oracle Database Payara Server Boot Faces Lombok

Fault Management System is an enterprise-grade application designed for managing faults in railway traffic control systems within a mining environment. The system is built using the MVC (Model View Controller) architectural pattern, which organises code by separating it into three interconnected components. The system utilises the structural design pattern Facade that simplifies access to complex operations and improves maintainability by providing a unified interface to a set of interfaces in a subsystem. Built using Java Enterprise Edition technologies, it leverages JPA (Java Persistence API) for data persistence, JTA (Java Transaction API) for transaction management, and EJBs (Enterprise JavaBeans) to handle business logic. The application runs on the Payara Server and integrates with an Oracle Database. The project is built with Apache Maven and makes use of the Lombok Java library to reduce boilerplate code.

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

About

IT System for Managing Railway Traffic Control (RTC) System Failures on Mining Railways is a Java EE enterprise application with an MVC architecture and the Facade structural design pattern for simplified subsystem access.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published