Skip to content

pendig/kelompok

Kelompok

The Solutions of Movement.

Kelompok is an open-source, free-first platform for organization management, public impact profiles, lightweight event workflows, and donor reporting.

The project is built for community groups, NGOs, student organizations, foundations, volunteer networks, and nonprofit initiatives that need modern operational software without commercial lock-in.

Product Scope

Kelompok focuses on three core areas:

  1. Organization data and public profiles
  2. Posts, articles, and public updates
  3. Event management and lightweight ticketing
  4. Donor management and transparent impact reporting

The long-term goal is to provide a modular API and CLI foundation that can later be used by AI agents, automation jobs, imports, and partner systems.

Why This Exists

Many organizations have scattered public data, outdated landing pages, limited reporting tools, and no affordable CRM-like platform. Kelompok aims to make basic organization infrastructure free, inspectable, self-hostable, and extensible.

The platform starts with organizations first, then expands into events and donor workflows.

Core Features

Organization CRM and Public Profiles

  • Auto-generated public landing pages for organizations
  • Organization name, history, leadership, contacts, official email, social links, website, location, and SDGS-related metadata
  • Claim flow through official email or Instagram-based verification
  • Editable public profile after claim and registration
  • Public impact reporting mapped to SDGS
  • Organization-owned posts, articles, news, and public updates
  • Flexible metadata using JSON fields where variables are highly dynamic
  • Structured SQL tables for repeated, query-heavy data

Posts and Articles

  • Organization news and announcements
  • Public articles connected to organization profiles
  • Impact stories and activity updates
  • Draft and published status
  • Category and tag support for public discovery

Event Management

  • Manual event creation for registered organizations
  • Simple ticketing flow for early releases
  • Public event pages connected to organization profiles
  • Future path for registration, QR check-in, invoices, and payment integrations

Donor Management

  • Public donation pages for organizations
  • Donation campaign creation and reporting
  • Fund usage updates and impact report timeline
  • Future recommendation engine for related international NGOs and donors

API and CLI

  • API-first backend for web, automation, and future AI workflows
  • CLI-first operations for imports, claims, exports, sync jobs, and admin maintenance
  • Modular services so contributors can work on data, profiles, events, donors, or integrations independently

Plugin System

  • Pluginable import system for organizations, members, and events
  • Pluginable import system for posts and articles
  • Custom plugin hooks for source normalization, matching, enrichment, and validation
  • Plugin commands exposed through the CLI
  • API-safe data ingestion so external tools can integrate without touching core tables directly
  • Core CRM modules stay maintainable while custom workflows live outside the core

Recommended Technical Direction

The recommended backend stack is Go for the core API and CLI.

Go is a strong fit because Kelompok needs:

  • A small deployment footprint
  • Fast CLI tooling
  • Efficient background jobs
  • Simple static binaries for self-hosting
  • Good concurrency for imports and enrichment jobs
  • Clear module boundaries without heavy framework overhead

Recommended baseline:

  • Go for backend API, CLI, workers, and service integrations
  • PostgreSQL for relational core data
  • JSONB for dynamic organization metadata, SDGS signals, source fields, and provider-specific evidence
  • SQL migrations with a simple migration tool
  • OpenAPI for API documentation
  • SvelteKit for the frontend web app
  • Docker Compose for local development

See Architecture for more detail.

Default Ports

Use uncommon default ports to avoid conflicts with other local projects:

  • API: 4621
  • Web app: 4622
  • Worker metrics or internal diagnostics: 4623
  • PostgreSQL in Docker Compose: 54621

Repository Status

This repository is currently in planning and foundation mode.

The first milestone is documentation, architecture, and a lean backend skeleton. The goal is to avoid rebuilding the older multi-repo system as-is and instead create a simpler, modular open-source platform.

The minimal public MVP should ship a working SvelteKit frontend for:

  • Public organization profiles
  • Organization posts and articles
  • Public impact reports
  • Minimal organization admin screens for editing those records

Event management, donor management, practical import plugins, and advanced integrations can follow after the minimal public MVP.

Documentation

Quick Development Start

cp .env.example .env
go run ./cmd/kelompok db migrate
go run ./cmd/kelompok seed demo
go run ./cmd/kelompok-api

Common shortcuts:

make test
make db-migrate
make seed-demo
make api

The API defaults to :4621. Real database credentials should only live in local environment files or secret managers, never in committed files.

Development Principles

  • Organization-first, not feature-first
  • Public data should be useful before login
  • Claims must be safe, auditable, and reversible
  • SQL for stable entities, JSONB for dynamic evidence and source metadata
  • API and CLI must be first-class interfaces
  • Plugins must integrate through stable contracts, not core rewrites
  • Keep the early product lean and self-hostable
  • Make the default path free and nonprofit-friendly

License

Kelompok is licensed under the Apache License 2.0.

About

The Solutions of Movement - open-source organization CRM, public profiles, posts, impact reports, API, CLI, and plugins

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors