Community Planting — a discipleship
platform for Domus Cordis
Community Planting is a community-management and discipleship platform I built for Domus Cordis, a Catholic community. It organizes members into cell groups and runs the two things a growing community needs: a Covenant Journal for gathering attendance and spiritual-habit tracking, and an LMS where discipleship material is worked through and reviewed by a real person, not auto-graded. Role-based and multi-language, on a .NET Core stack.

Discipleship needs structure, not spreadsheets.
A Catholic community grows through small groups — cell groups that meet, learn, and form spiritual habits together. Tracking who showed up, who’s working through which material, and how they’re doing usually lives in scattered spreadsheets and chat threads.
Community Planting brings it into one platform for Domus Cordis. Members are organized into cell groups; leaders track gathering attendance and spiritual habits through the Covenant Journal (shown above); and discipleship material runs as an LMS with quizzes that a reviewer scores and gives feedback on.
I built and designed it on a .NET Core back end (EF Core + Dapper) with a Svelte front end, with role-based access for admins, reviewers, and participants, and full multi-language support.
at a glance
Discipleship material, actually reviewed.
A full learn → submit → review → score loop. Tap any to enlarge.

The material catalog. Discipleship topics are published to cell groups on a schedule (e.g. “BTS 1 – Mengapa aku ada?” for Default Cell Group), each with a publish / close status and a per-participant work status — so leaders control what’s open and members see exactly what to do next.

The reviewer queue. For each material, admins see who submitted and who hasn’t — Total Peserta, Dikumpulkan, Menunggu Review, Sudah Direview — and open each submission to review and score it. Human assessment, not a machine grade.

Scored, with feedback. The participant sees their score out of 100, a reviewer’s qualitative assessment (“Pemahaman Sangat Baik”), and their quiz answers marked “Sudah Direview” — closing the loop between learner and mentor.
One door, many roles.
A single sign-in fronts a role-aware, multi-language platform.

Role-based, multi-language. One sign-in fronts a role-based platform — Super Admin, reviewer, and participant (Peserta) each get a different app — with a language switcher (i18n) right in the header.
A pragmatic .NET + Svelte build.
Nothing exotic — a clean, well-chosen stack that fits how a community actually works.
.NET Core back end
An ASP.NET Core API with a pragmatic data layer: EF Core for the domain model and migrations, and Dapper where hand-tuned SQL and speed matter.
Svelte front end
A Svelte SPA delivering the whole experience — dashboards, tables, filters, and the LMS flow — light and fast for community leaders on modest devices.
Cell-group structure
Members are organized into cell groups (Default Cell Group, DC X…); attendance, materials, and reviews all hang off that structure — mirroring how the community actually meets.
Human-reviewed LMS
Instead of an auto-graded quiz, submissions flow through a review queue — a reviewer scores each one and adds qualitative feedback, keeping discipleship personal.
Role-based access
Distinct roles — Super Admin, reviewer, participant — gate every module (Administrasi, Covenant Journal, LMS, Master Data), so people only see what their role needs.
Multi-language (i18n)
The interface switches languages from the header — built in from the start so the platform can serve a community in more than one language.