Skip to main content

Developer Documentation

ChurchApps is a collection of approximately 20 open-source projects that together provide a complete church management platform. The projects span backend APIs, web applications, mobile apps, a desktop application, and shared libraries -- all written in TypeScript.

Architecture at a Glance

The projects are independent repositories (not a monorepo). Shared code is published to npm under the @churchapps/* scope and consumed as regular dependencies. This means you can work on a single project without cloning the entire ecosystem.

Key characteristics:

  • Language: TypeScript throughout
  • Backend: Node.js / Express APIs deployed to AWS Lambda via Serverless Framework
  • Web: React 19 (Vite and Next.js), Material-UI 7
  • Mobile: React Native with Expo
  • Database: MySQL 8.0, one database per API module

What This Section Covers

  • Setup -- Local development environment, prerequisites, and configuration
  • API -- Core API local setup, database initialization, and module structure
  • Web Apps -- Running B1Admin, B1App, and LessonsApp locally
  • Mobile Apps -- Building B1Mobile and other Expo apps
  • Shared Libraries -- Working with Helpers, ApiHelper, and AppHelper
  • Deployment -- Deploying APIs, web apps, and mobile apps

Community and Resources

ResourceLink
GitHub Organizationgithub.com/ChurchApps
Issue TrackerChurchAppsSupport Issues
Slack CommunityJoin Slack
tip

The fastest way to start contributing is to pick a web app (like B1Admin), point it at the staging APIs, and begin making frontend changes. No database or API setup required.