{"id":13558194,"url":"https://github.com/hitobito/hitobito","last_synced_at":"2025-12-17T21:05:04.836Z","repository":{"id":37405852,"uuid":"11764575","full_name":"hitobito/hitobito","owner":"hitobito","description":"A web application to manage complex group hierarchies with members, events and a lot more.","archived":false,"fork":false,"pushed_at":"2024-10-29T09:08:31.000Z","size":168775,"stargazers_count":377,"open_issues_count":366,"forks_count":111,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-10-29T09:23:35.502Z","etag":null,"topics":["club-management","community","complex-group-hierarchies","event-management","hacktoberfest","hitobito","membership-management","ruby","user-management","wagons"],"latest_commit_sha":null,"homepage":"https://hitobito.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hitobito.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-07-30T12:33:41.000Z","updated_at":"2024-10-29T08:45:24.000Z","dependencies_parsed_at":"2024-02-05T07:43:31.894Z","dependency_job_id":"58dd3df0-6d73-4a3c-9825-baa5a2f0545f","html_url":"https://github.com/hitobito/hitobito","commit_stats":null,"previous_names":[],"tags_count":358,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitobito%2Fhitobito","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitobito%2Fhitobito/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitobito%2Fhitobito/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitobito%2Fhitobito/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hitobito","download_url":"https://codeload.github.com/hitobito/hitobito/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247009438,"owners_count":20868555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["club-management","community","complex-group-hierarchies","event-management","hacktoberfest","hitobito","membership-management","ruby","user-management","wagons"],"created_at":"2024-08-01T12:04:48.240Z","updated_at":"2025-12-17T21:05:04.827Z","avatar_url":"https://github.com/hitobito.png","language":"Ruby","readme":"![hitobito logo](https://user-images.githubusercontent.com/9592347/184715060-351453d4-d066-4ff6-8f82-95d3b524b62f.svg)\n\n# Welcome to Hitobito 人人\n\nHitobito 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.\n\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/hitobito/hitobito/graphs/commit-activity)\n[![Documentation Status](https://readthedocs.org/projects/hitobito/badge/?version=latest)](https://hitobito.readthedocs.io/?badge=latest)\n[![GitHub](https://img.shields.io/github/license/hitobito/hitobito)](https://github.com/hitobito/hitobito/blob/master/LICENSE)\n[![Open Source Helpers](https://www.codetriage.com/hitobito/hitobito/badges/users.svg)](https://www.codetriage.com/hitobito/hitobito)\n[![Rails Lint and Test](https://github.com/hitobito/hitobito/actions/workflows/tests.yml/badge.svg)](https://github.com/hitobito/hitobito/actions/workflows/tests.yml)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8947/badge)](https://www.bestpractices.dev/projects/8947)\n\n## User Guide\n\nA generic [user guide in German](https://hitobito.readthedocs.io/de/latest/) is available.\n\n## Development\n\nCheck out our [development kit](https://github.com/hitobito/development/)\n\nMore detailed development documentation can be found in [doc/developer](doc/developer).\n\nThis is where you also find some [Deployment Instructions](doc/operator/01_deployment.md).\n\nMore information about [interfaces, api, oauth and oidc](doc/developer/README.md#interfaces) is also avaible.\n\n## Architecture\n\nThe architecture documentation in German can be found in [doc/architecture](doc/developer/modules/common/architecture).\n\nTwo topics shall be mentioned here explicitly:\n\n### Group Hierarchy\n\nHitobito provides a powerful meta-model to describe group structures.\nGroups are always of a specific type and are arranged in a tree.\nEach group type may have several different role types.\n\nThis core part of Hitobito does not provide any specific group or role types.\nThey have to be defined in a separate plugin, specific to your organization structure.\n\nAn example group type definition might look like this:\n\n    class Group::Layer \u003c Group\n      self.layer = true\n\n      children Group::Layer, Group::Board, Group::Basic\n\n      class Role \u003c Leader\n        self.permissions = [:layer_full, :contact_data]\n      end\n\n\n      class Member \u003c Role\n        self.permissions = [:group_read]\n      end\n\n      roles Leader, Member\n    end\n\nA group type always inherits from the class `Group`.\nIt may be a layer, which defines a set of groups that are in a common permission range.\nAll subgroups of a layer group belong to this range unless a subgroup is a layer itself.\n\nThen all possible child types of the group are listed.\nWhen creating subgroups, only these types will be allowed.\nAs shown, types may be organized recursively.\n\nFor the ease of maintainability, role types may be defined directly in the group type.\nEach role type has a set of permissions.\nThey are general indications of what and where.\nAll specific abilities of a user are derived from the role permissions she has in her different groups.\n\nSee [Gruppen- und Rollentypen](doc/developer/modules/common/architecture/08_konzepte.md) for more details and\n[hitobito_generic](https://github.com/hitobito/hitobito_generic) for a complete example group\nstructure.\n\n\n### Plugin architecture\n\nHitobito is built on the plugin framework [Wagons](http://github.com/codez/wagons).\nWith Wagons, arbitrary features and extensions may be created for Hitobito.\nAs mentioned above, as there are no group types coming from Hitobito itself,\nat least one wagon is required to define group types in order to use Hitobito.\n\nSee [Wagon Guidelines](doc/developer/modules/common/wagons/README) or [Wagons](http://github.com/codez/wagons)\nfor more information on wagons and its available rake tasks.\n\n## Contributing\n\nYou 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.\nBefore opening any pull request or issue, please search for existing [issues](https://github.com/hitobito/hitobito/issues) (open and closed) and read the [contributing guidelines](CONTRIBUTING.md). If you are part of an organisation that uses Hitobito, please discuss your intent with the responsible person of your organisation.\n\n## Community\n\nHitobito made with 💙 and the incredible community:\n\n* Jungwacht Blauring Schweiz\n* [Puzzle ITC AG](https://www.puzzle.ch)\n* Pfadibewegung Schweiz\n* Hitobito AG\n* CEVI Regionalverband ZH-SH-GL / CEVI Schweiz\n* Pro Natura Jugend\n* Dachverband Schweizer Jugendparlamente DSJ\n* Insieme Schweiz\n* Forschungstelle Digitale Nachhaltigkeit\n* CH Open\n* Digital Impact Network\n* Schweizer Blasmusikverband\n* Grünliberale Partei Schweiz\n* Die Mitte\n* Stiftung für junge Auslandschweizer\n* Swiss Canoe\n* Schweizerischer Sportverband öffentlicher Verkehr (SVSE)\n* Schweizer Wanderwege\n\nPlease contact [Hitobito](https://hitobito.com) if you want to be part of our community.\n\n## License\n\nHitobito is released under the [GNU Affero General Public License](LICENSE).\n\nThe Hitobito logo is a registered trademark of Hitobito LTD, Switzerland.\n\n---\n\nbtw: Hitobito 人人 [means](https://www.wordsense.eu/%E4%BA%BA%E4%BA%BA/) \"everyone\"\n","funding_links":[],"categories":["Ruby","hacktoberfest","CRM","Open Source Rails Apps"],"sub_categories":["Articles"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitobito%2Fhitobito","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhitobito%2Fhitobito","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitobito%2Fhitobito/lists"}