{"id":21185185,"url":"https://github.com/andrzejszelag/fms","last_synced_at":"2026-01-27T04:06:45.688Z","repository":{"id":164808796,"uuid":"640204868","full_name":"AndrzejSzelag/fms","owner":"AndrzejSzelag","description":"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.","archived":false,"fork":false,"pushed_at":"2025-04-23T09:14:30.000Z","size":1228,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-10T05:15:01.144Z","etag":null,"topics":["javaee8","lombok","maven","oracle-21c","payara-server"],"latest_commit_sha":null,"homepage":"https://github.com/AndrzejSzelag/fms","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndrzejSzelag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-13T10:25:12.000Z","updated_at":"2025-05-30T16:47:52.000Z","dependencies_parsed_at":"2023-05-22T17:00:10.987Z","dependency_job_id":"d68a4bb5-f7b3-4574-845f-e9516ac83c71","html_url":"https://github.com/AndrzejSzelag/fms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AndrzejSzelag/fms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrzejSzelag%2Ffms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrzejSzelag%2Ffms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrzejSzelag%2Ffms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrzejSzelag%2Ffms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndrzejSzelag","download_url":"https://codeload.github.com/AndrzejSzelag/fms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrzejSzelag%2Ffms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28801075,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T03:44:14.111Z","status":"ssl_error","status_checked_at":"2026-01-27T03:43:33.507Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javaee8","lombok","maven","oracle-21c","payara-server"],"created_at":"2024-11-20T18:15:04.311Z","updated_at":"2026-01-27T04:06:45.663Z","avatar_url":"https://github.com/AndrzejSzelag.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FMS (Fault Management System)\n\n[\u003cimg alt=\"Java EE\" src=\"https://img.shields.io/badge/Java EE-8.0.1-007396.svg?logo=javaee\"\u003e](https://www.oracle.com/java/technologies/java-ee-glance.html)\n[\u003cimg alt=\"Maven\" src=\"https://img.shields.io/badge/Maven-3.8.6-C71A36.svg?logo=apachemaven\"\u003e](https://maven.apache.org/)\n[\u003cimg alt=\"Oracle Database\" src=\"https://img.shields.io/badge/Oracle Database-21c Express Edition-F80000.svg?logo=oracle\"/\u003e](https://www.oracle.com/database/technologies/xe-downloads.html)\n[\u003cimg alt=\"Payara Server\" src=\"https://img.shields.io/badge/Payara Server-5.2021.10-FF7300.svg?logo=payara\"\u003e](https://www.payara.fish/)\n[\u003cimg alt=\"Boot Faces\" src=\"https://img.shields.io/badge/Boot Faces-1.5.0-7952B3.svg?logo=bootstrap\"\u003e](https://www.bootsfaces.net/index.jsf)\n[\u003cimg alt=\"Lombok\" src=\"https://img.shields.io/badge/Lombok-1.18.26-DA525D.svg?logo=lombok\"\u003e](https://projectlombok.org/)\n\n**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.\n\n![url3.java](url3.png \"Fault Management System\")\n\n### Tech Stack\n* 🔶 Java 17.0.6 LTS\n* 🔶 Java Persistence API 2.2\n* 🔶 Java Transaction API 1.2\n* 🔶 Context and Dependency Injection 2.0\n* 🔶 Enterprise JavaBeans 3.2\n* 🔶 JavaServer Faces 2.3\n* 🔶 Lombok 1.18.26\n* 🔶 BootsFaces 1.5.0\n* 🔶 PrimeFaces 10.0.0 (icons)\n\n\n### Environment\n* 🔶 Java EE 8.0.1\n* 🔶 Apache Maven 3.8.6\n* 🔶 Payara Server 5.2021.10\n* 🔶 Oracle Database 21c Express Edition\n* 🔶 IntelliJ IDEA 2023.1.1\n\n\n### Video\n\n🚀 [Management of user accounts by Administrator](https://youtu.be/eArxW2pi3XQ)\n\n🚀 [Fault management by Supervision and Electrician](https://youtu.be/tnAVQGW4tXk)\n\n\n### Requirements \u0026 How to run\n\n1. Log into __Windows 11 Pro__ with a user that is a direct member of the Administrators group.\n2. Download the __Java 17.0.6 LTS__ (_x64 MSI Installer_) and install to a local directory.\n3. Download the __Apache Maven 3.8.6__ (_Binary zip archive_) and extract zip file to a local directory.\n4. Download the __Oracle Database 21c Express Edition__ (_.zip_), extract zip file to a local directory and run __setup.exe__. After installation:\n    * verify if __Oracle Database 21c Express Edition__ runs,\n    * 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:\n\n   \n            // DataSource.java \n            package pl.szelag.config;\n    \n            import javax.annotation.sql.DataSourceDefinition;\n            import javax.ejb.Singleton;\n            import java.sql.Connection;\n    \n            @Singleton\n            @DataSourceDefinition(\n                     name = \"java:app/jdbc/FMSDescriptorDS\",\n                     className = \"oracle.jdbc.OracleDriver\",\n                     url = \"jdbc:oracle:thin:@localhost:1521:XE\",\n                     user = \"system\",\n                     password = \"pa$$w0rd\",\n                     isolationLevel = Connection.TRANSACTION_READ_COMMITTED)\n            public class DataSource {\n            }\n\n6. Download the __Payara Server 5.2021.10__ (_.zip_) and extract zip file to a local directory.\n7. In command line Windows, copy file __ojdbc11.jar__ from the __Oracle Database 21c Express Edition__ to the __Payara Server 5.2021.10__:\n\n       copy %ORACLE_HOME%\\jdbc\\lib\\ojdbc11.jar %PAYARA_HOME%\\glassfish\\domains\\domain1\\lib\n\n8. In command line Windows, start default domain on the __Payara Server 5.2021.10__:\n\n        %PAYARA_HOME%\\bin\\asadmin start-domain\n\n10. Clone a Github Repository:\n    * From Github Repository, click on __Clone__\n    * Copy the clone URL\n    * In command line Windows, go to partition __D:__ \n    * Use the __git clone__ command along with the copied URL:\n\n\n          git clone https://github.com/AndrzejSzelag/fms.git\n        \n    \n11. In command line Windows, go to folder __D:\\fms__, and run command: \n\n        mvn clean install\n        \n12. In command line Windows, go to folder __D:\\fms\\target__ and deploy file __FMS-1.0.war__ to the __Payara Server 5.2021.10__.\n\n        %PAYARA_HOME%\\bin\\asadmin deploy FMS-1.0.war\n\n13. 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.\n\n14. In your Web browser,\n    * paste a URL:\n\n          https://localhost:8181/FMS\n            \n    * click on __Advanced__\n    * click on __Continue to localhost (unsafe)__\n\n\n#### You should see the home page of the FMS application (hint: first photo) and log in with using the following logins and password.\n\n\u003e Logins for confirmed and activated test users: \n\u003e \n\u003e   * __AndrzejSzelag__ (administrator)\n\u003e   * __TomaszDominiak__ (supervision)\n\u003e   * __ArekStolecki__ (electrician)\n\u003e \n\u003e Default __password__ for all test users: __12345678__\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrzejszelag%2Ffms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrzejszelag%2Ffms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrzejszelag%2Ffms/lists"}