back to home

hitobito / hitobito

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

View on GitHub
463 stars
126 forks
411 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing hitobito/hitobito in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/hitobito/hitobito)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

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. 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/developer. 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 . 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 AG • 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"