Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LibreNexus

CI License: MIT

LibreNexus is a free, MIT-licensed, multi-tenant appointment scheduling system for small offices (clinics, salons, studios, advisors). Each tenant has staff, services, availability, a public booking page, and appointments booked by customers, with email confirmations, reminders, and customer self-service.

This repository is also a verified-app experiment: the application was built against the predefined, measurable quality benchmark in specs/. The claim is not "this repo is perfect" but "this repo passed a predefined, public, reproducible quality benchmark." Every badge above links to a public run.

Highlights

  • Tenant isolation by construction: a fail-closed global scope guards every tenant-owned model, enforced by an architecture test and a named regression suite (ADR-0002).
  • Double-booking is impossible: a partial PostgreSQL GiST exclusion constraint on the buffered time range, proven by a concurrency suite that races two live database connections (ADR-0003).
  • A pure, mutation-hardened slot engine handling timezones, DST in both directions, buffers, lead times, and booking horizons.
  • Queued, branded confirmation, cancellation, reschedule, and reminder emails; tokened customer self-service without accounts.

Setup

Requirements: PHP 8.4, Composer, Node 22, PostgreSQL (databases librenexus and librenexus_test), plus the security toolchain (gitleaks, semgrep, osv-scanner, syft) for the full pipeline.

make setup    # install deps, env, migrate, seed demo data, build assets, install browsers

Seeding (idempotent, also run by make setup via php artisan db:seed) creates an explorable demo tenant at /demo-clinic with staff, services, availability, and sample appointments, plus a demo owner login (demo@librenexus.test / password). The seeder refuses to run in production.

Reproduce the benchmark

make setup && make verify

make verify chains every gate: format, complexity/dead code, static analysis (PHPStan level 7), duplication, unused/implicit dependencies, tests, coverage (>= 80%), mutation (>= 70%), browser E2E, secrets, SAST, dependency audits, accessibility (WCAG 2.1 AA), performance (Lighthouse budgets), and the SBOM. make help lists each target. CI (ci.yml) runs the same targets on every push; the badge above links to the public runs.

The accessibility and performance gates run against APP_URL. CI serves the app on 127.0.0.1; locally run php artisan serve and pass APP_URL=http://127.0.0.1:8000, since Lighthouse requires a secure context (localhost qualifies, a plain-HTTP custom domain does not).

Evidence

License

MIT

About

Free, MIT-licensed, multi-tenant appointment scheduling for small offices. Built against a predefined, reproducible quality benchmark.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages