Giter Club home page Giter Club logo

operatorfabric-core's Introduction

OperatorFabric README

MPL-2.0 License Build Status Quality Gate Coverage Code Smells CII Best Practices OperatorFabric Slack Channel

See our website opfab.github.io for the complete documentation.

1. Introduction

OperatorFabric is a modular, extensible, industrial-strength platform for use in electricity, water, and other utility operations.

It aims to facilitate operational activities for utilities in two ways :

  • Centralize real time business events in a single place to avoid having multiple screens/software. To do so, OperatorFabric provides

    • event notifications named "cards" with filtering features (severity , date , process …​ )

    • event dispatching rules on a per user basis (based on groups, organizational entities, processes…​ )

    • event-sending endpoints for business applications

    • a mechanism of templating to customize events rendering (using HTML5 )

    • a view of the events on a timeline and agenda view

    • storage of all the events (archive feature)

    • notifications via sounds

    • possibilities to integrate screen form other applications

  • Facilitate interactions between operational control centers:

    • Share information in real time, as pre-formatted cards that can be sent either manually by operators or automatically by external solutions.

    • Introduce pre-formatted question/response exchanges between control centers. This can be used to implement operational processes (with the notion of "last time to respond").

    • Share events in calendar (also allowing repeating events)

In addition, the following features are available : internationalization, time-zone management, light/dark mode for the UI, authorization mechanism.

Integration with existing IT systems is an overarching concern: support of Firefox and Chromium-based browsers, docker deployment, communication with business applications via REST API or Kafka, integration with external authentication systems (via OAuth2), monitoring via Prometheus endpoints.

OperatorFabric is part of the LF Energy coalition, a project of The Linux Foundation that supports open source innovation projects within the energy and electricity sectors.

OpFab is an open source platform licensed under Mozilla Public License V2. The source code is hosted on GitHub in this repository : operatorfabric-core.

Documentation is available at opfab.github.io/

UI screenshot

2. Try it!

If you want to try OperatorFabric (see what the UI looks like with some test cards) in a few minutes, follow the steps below.

  1. Clone this repository

    git clone https://github.com/opfab/operatorfabric-core.git
    cd operatorfabric-core
  2. Launch our demo docker-compose file

    cd ./config/docker
    ./docker-compose.sh
  3. After a little while, log into the application UI at localhost:2002/ using operator1/test as credentials.

  4. Push basic configuration and cards using the following test scripts

    ./src/test/resources/loadTestConf.sh
    ./src/test/resources/send6TestCards.sh
Tip
If you want to experiment in more depth and have more details on how it works (as well as some troubleshooting), check out our Getting Started guide!

3. Technology stack

3.1. Development

OperatorFabric is mostly written in Java and based on the Spring framework. This makes writing and integrating software for a simplified and better coordination very easy.

Using Java Using Spring Using Angular Using Swagger

3.2. Continuous Integration / Continuous Delivery

OperatorFabric is built and integrated using battle-tested tools and (open) platforms.

Built with Gradle Using Travis CI Using SonarCloud

4. Licensing

This project and all its sub-projects are licensed under Mozilla Public License V2.0. See LICENSE.txt

5. Contributing

Read our Community Documentation for more information on how to contribute to the project.

operatorfabric-core's People

Contributors

agigox avatar alexguironnetrte avatar atabourte avatar bendaoudmba avatar davidbinderrte avatar didierfred avatar freddidierrte avatar geppyz avatar hanae-s avatar hanaesafirte avatar jeandemanged avatar jeroengommans avatar julienbapt avatar lucian-balea avatar mend-bolt-for-github[bot] avatar olivierpigeon-rte avatar opfabtech avatar quinarygio avatar renovate-bot avatar rlg-pro avatar rorshachdb avatar rte-amal avatar sadema avatar samichehade avatar schehade-rtei avatar sjoerdadema avatar taoufikbermaki avatar vitorz avatar vlo-rte avatar youhou1515 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.