Giter Site home page Giter Site logo

hitobito logo

Welcome to Hitobito 人人

Hitobito is an open source web application to manage organisation and communities with complex group hierarchies with members, events, courses, mailings, communication and a lot more.

Maintenance Documentation Status GitHub Open Source Helpers Rails Lint and Test

User Guide

A generic user guide in German is available.

Development

Check out our development kit

More detailed development documentation can be found in doc/development.

This is where you also find some Deployment Instructions.

More information about interfaces, api, oauth and oidc is also avaible.

Architecture

The architecture documentation in German can be found in doc/architecture.

Two topics shall be mentioned here explicitly:

Group Hierarchy

Hitobito provides a powerful meta-model to describe group structures. Groups are always of a specific type and are arranged in a tree. Each group type may have several different role types.

This core part of Hitobito does not provide any specific group or role types. They have to be defined in a separate plugin, specific to your organization structure.

An example group type definition might look like this:

class Group::Layer < Group
  self.layer = true

  children Group::Layer, Group::Board, Group::Basic

  class Role < Leader
    self.permissions = [:layer_full, :contact_data]
  end


  class Member < Role
    self.permissions = [:group_read]
  end

  roles Leader, Member
end

A group type always inherits from the class Group. It may be a layer, which defines a set of groups that are in a common permission range. All subgroups of a layer group belong to this range unless a subgroup is a layer itself.

Then all possible child types of the group are listed. When creating subgroups, only these types will be allowed. As shown, types may be organized recursively.

For the ease of maintainability, role types may be defined directly in the group type. Each role type has a set of permissions. They are general indications of what and where. All specific abilities of a user are derived from the role permissions she has in her different groups.

See Gruppen- und Rollentypen for more details and hitobito_generic for a complete example group structure.

Plugin architecture

Hitobito is built on the plugin framework Wagons. With Wagons, arbitrary features and extensions may be created for Hitobito. As mentioned above, as there are no group types coming from Hitobito itself, at least one wagon is required to define group types in order to use Hitobito.

See Wagon Guidelines or Wagons for more information on wagons and its available rake tasks.

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can. Before opening any pull request or issue, please search for existing issues (open and closed) and read the contributing guidelines. If you are part of an organisation that uses Hitobito, please discuss your intent with the responsible person of your organisation.

Community

Hitobito made with 💙 and the incredible community:

  • Jungwacht Blauring Schweiz
  • Puzzle ITC GmbH
  • Pfadibewegung Schweiz
  • Hitobito AG
  • CEVI Regionalverband ZH-SH-GL / CEVI Schweiz
  • Pro Natura Jugend
  • Dachverband Schweizer Jugendparlamente DSJ
  • Insieme Schweiz
  • Forschungstelle Digitale Nachhaltigkeit
  • CH Open
  • Digital Impact Network
  • Schweizer Blasmusikverband
  • Grünliberale Partei Schweiz
  • Die Mitte
  • Stiftung für junge Auslandschweizer
  • Swiss Canoe
  • Schweizerischer Sportverband öffentlicher Verkehr (SVSE)
  • Schweizer Wanderwege

Please contact Hitobito if you want to be part of our community.

License

Hitobito is released under the GNU Affero General Public License.

The Hitobito logo is a registered trademark of Hitobito LTD, Switzerland.


btw: Hitobito 人人 means "everyone"

Hitobito's Projects

hitobito icon hitobito

A web application to manage complex group hierarchies with members, events and a lot more.

hitobito_cevi icon hitobito_cevi

A hitobito wagon defining the organization hierarchy and additional features for Cevi

hitobito_die_mitte icon hitobito_die_mitte

A hitobito wagon defining the organization hierarchy and additional features for Die Mitte Schweiz.

hitobito_digisus_lab icon hitobito_digisus_lab

A hitobito wagon defining the organization hierarchy and additional features for Digisus_lab

hitobito_dsj icon hitobito_dsj

A hitobito wagon defining the organization hierarchy and additional features for Dachverband Schweizer Jugendparlamente

hitobito_glp icon hitobito_glp

A hitobito wagon defining the organization hierarchy and additional features for Glp Schweiz.

hitobito_insieme icon hitobito_insieme

A hitobito wagon defining the organization hierarchy and additional features for Insieme Schweiz

hitobito_jemk icon hitobito_jemk

A hitobito wagon defining the organization hierarchy and additional features for Jungschar EMK.

hitobito_jubla icon hitobito_jubla

A hitobito wagon defining the organization hierarchy and additional features for Jungwacht Blauring Schweiz.

hitobito_pbs icon hitobito_pbs

A hitobito wagon defining the organization hierarchy and additional features for Pfadibewegung Schweiz.

hitobito_pro_natura icon hitobito_pro_natura

A hitobito wagon defining the organization hierarchy and additional features for Pro Natura

hitobito_sac_cas icon hitobito_sac_cas

A hitobito wagon defining the organization hierarchy and additional features for SAC/CAS

hitobito_sbv icon hitobito_sbv

Wagon for https://github.com/hitobito/hitobito for Schweizer Blasmusikverband

hitobito_sjas icon hitobito_sjas

A hitobito wagon defining the organization hierarchy and additional features for SJAS

hitobito_skv icon hitobito_skv

A hitobito wagon defining the organization hierarchy and additional features for SKV

hitobito_svse icon hitobito_svse

A hitobito wagon defining the organization hierarchy and additional features for Schweizerischer Sportverband öffentlicher Verkehr.

hitobito_sww icon hitobito_sww

A hitobito wagon defining the organization hierarchy and additional features for Schweizer Wanderwege

hitobito_youth icon hitobito_youth

A hitobito wagon adding common features for (swiss) youth organizations.

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.