Git Product home page Git Product logo

o360.github.io's Introduction

Open360 P2P Feedback Software

Open360 helps HR personnel in various organizations design, plan and run P2P feedback events. It's based on well-known 360 degree feedback approach.

The software was developed by Bitworks Software for internal purposes in 2016 and released to open source under Apache License 2.0 at the beginning of 2020. We have been used the system successfully since 2017, which helped us to improve internal HR processes significantly.

Administrator Workflow

<iframe width="560" height="315" src="https://www.youtube.com/embed/NcLTyuHWJI0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

User Workflow

<iframe width="560" height="315" src="https://www.youtube.com/embed/T32f1Z-SCGE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Integration with the Organizational Infrastructure

At Bitworks we actively use Google services for business, so initially, Open360 was intended to be used with Google OAuth and Google Applications (Spreadsheets).

However, before publishing in Open Source, we implemented several additional social authenticators and a universal authenticator which works through an external HTTP request, which allows organizations to easily integrate Open360 into their authentication infrastructure.

Currently, the feedback results are exported either in JSON format or in the form of spreadsheets on Google Drive. So for the system to work you need a Google account with the correct permissions. Currently, the system does not allow exporting feedback results in any other way.

Basic Ideas

Open360 can serve sophisticated organizational structure. All users are organized into projects which are real-life projects or organizational units if the organization uses functional approach. Every project includes one or many groups, where every group is a set of users which are interviewed the same way, e.g. Engineers, Managers, C-level. Groups can be organized in a hierarchy, e.g. Project X/Managers and Project Y/Managers.

Every project is a set of the following triplets:

  • group which answers the questions;
  • group which is the subject of answered questions;
  • form with questions.

E.g. defined

Groups:
- Engineers: John, Mary
- Managers: Carl, Susan
- All: John, Mary, Carl, Susan
- HR: Helga

Forms:
- Form_Engineers: 
  - Always able to help with tasks? YES/NO
- Form_Managers:
  - Working according your expectations? YES/NO
- Form_All:
  - Want go in the next project with him/her? SURE/NO

Project:
  Interviewer: HR
  Relations:
     - Engineers > Form_Engineers > Managers
     - Managers > Form_Managers > Engineers
     - All > Form_All > All

So, based on the above example, when the feedback event is lauched, every person from the group 'Engineers' will be asked about the every person located in the group 'Managers' questions placed in the form 'Form_Engineers'. The same logic will be applied to all the relations established inside the project.

When the 360 degree event feedback is finished, all the responses are filled into spreadsheets and are placed into specified Google Account.

User Documentation

We have user documentation which helps start using the deployed system without extra hassle. This documentation will be especially useful for the personnel who design and run 360 degree feedback events.

For the employees who participate in the events, the system usage is pretty straightforward and doesn't require special knowledge.

Software Stack

The backend of the system is developed in Scala and the Play framework. At the time of publication, we migrated the backend code for the latest Scala release in branch 2 - 2.13. The system uses PostgreSQL as a DBMS; migrations are done using Flyway. The system API is designed in Swagger.

The frontend is developed in TypeScript and Angular. Before going to open source, we updated Angular to version 9.0.2.

The system is designed to be deployed as Dockerized application.

Getting Started

To deploy the system you need to meet several requirements:

  • Linux system which is able to run dockerized applications - we are using Ubuntu 18.04 deployed to 2 core, 4 GB RAM, 100 GB SSD VPS;
  • Google Drive Account which is used to upload the feedback events results in the form of spreadsheets - the account can be personal or business, but proper account permissions must be configured;
  • SMTP server - you can use the same gmail account for e-mail delivery or use separate server which is wise if you have pretty large group of users, because Gmail could give you a ban when you are trying to send a lot of messages.

Now you are ready to deploy the system. Follow the deployment guide provided in the documentation.

Help & Requests

Several tips for collaboration:

o360.github.io's People

Contributors

bwsw avatar elenaustyugova avatar

Stargazers

Arseny Sysolyatin avatar Wesley Wu avatar fatih avatar Scrik avatar

Watchers

James Cloos avatar Scrik avatar Yaroslav D avatar Maxim Skripnik avatar  avatar

Forkers

scrik inordon

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.