Skip to content

Repository files navigation

BSM

Beneficiary Session Management (BSM) is a camp-level desktop application for recording beneficiary visits and producing Excel-ready monthly reporting outputs.

The project foundation is intentionally strict:

  • ISO C99 for core logic
  • GTK for UI only
  • SQLite for local storage
  • CMake for builds
  • Offline-first behavior
  • Deterministic reporting and export behavior

Current Status

Phase 0 is the active baseline in this repository. The codebase currently contains the project scaffold, quality configuration, smoke test, and the minimum diagnostics module needed to validate the build and test pipeline.

Repository Layout

The repository follows the architecture-defined module layout:

docs/                  build, test, coding, and traceability documents
include/bsm/           public headers only
src/                   implementation modules
tests/                 unit, integration, system, performance, golden tests
packaging/windows/     Windows installer and runtime assets
personal_docs/         user-provided concept, architecture, and phase planning

Non-Negotiable Engineering Rules

  • Core modules must not include GTK headers.
  • All warnings are treated as errors in QA builds.
  • Public API functions use the bsm_ prefix.
  • Every public API requires Doxygen-style documentation.
  • Unsafe C string functions are prohibited.
  • New behavior must ship with tests in the same change set.

Quick Start

Build and test instructions are in docs/build.md. Quality and coding rules are in docs/coding-standard.md.

About

Beneficiary Session Management

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages