You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Steward Β· ChMS is a comprehensive, open-source Church Management System built for modern ministry teams. Part of the Steward ecosystem (alongside Steward Β· POS), it helps churches:
Steward People Track members, families, and engagement
Simplify Admin Events, check-in, and scheduling
Empower Leaders Communication and group tools
Ensure Transparency Giving, accounting, and reports
β¨ Features
π₯ People & Families
Feature
Description
Member Profiles
Comprehensive CRM with photos, contact info, and custom fields
Household Linking
Connect family members with relationship tracking
Notes & Tags
Add private pastoral notes and searchable tags
CSV Import
Bulk import members from spreadsheets
Search & Filter
Find anyone instantly with smart search
ποΈ Ministries & Groups
Feature
Description
Ministry Hierarchy
Organize Church β Ministry β Group structures
Group Management
Create small groups, classes, and teams
Member Assignment
Add members to multiple groups
Leader Permissions
Scope access by ministry or group
π Events & Check-In
Feature
Description
Event Scheduling
One-time and recurring events
Online Registration
Let members sign up for events
Attendance Tracking
Manual check-in and QR scanning
Kids Check-In
Secure child check-in with security codes
Kiosk Mode
Self-service check-in station
Label Printing
Print name tags with allergy alerts
π΅ Worship Planning
Feature
Description
Song Library
Store songs with keys, BPM, and lyrics
Service Plans
Build worship sets linked to events
Key Transposition
Track preferred keys for vocalists
Rehearsal Notes
Add notes for band members
π£ Communication Center
Feature
Description
Email & SMS
Send messages via email or text
Group Targeting
Message specific ministries or groups
Templates
Create reusable message templates
Message History
Track all sent communications
Opt-In Management
Respect communication preferences
π° Giving & Accounting
Feature
Description
Online Giving
Accept donations via Stripe
Donation Tracking
Record cash, check, and card gifts
Pledge Management
Track commitment and fulfillment
Fund Accounting
Multiple funds with restrictions
Donor Statements
Generate year-end tax statements
Expense Tracking
Record and categorize expenses
Vendor Management
Track payees and payment history
Invoices & POs
Professional financial documents
π Reports & Analytics
Feature
Description
Membership Reports
Status summaries and missing data alerts
Attendance Reports
Track trends by event and member
Giving Reports
Fund totals and donor analytics
Financial Reports
Income vs. expense summaries
CSV Export
Download any report as spreadsheet
PDF Generation
Print-ready formatted reports
π Sales & Fundraising
Feature
Description
Product Catalog
Manage items for sale
Inventory Tracking
Real-time stock levels
Simple POS
Quick point-of-sale transactions
Sales Reports
Revenue and inventory analysis
ποΈ Architecture
Frontend Stack
Technology
Purpose
Vite
Build tool & dev server
React 18
UI framework
TypeScript
Type safety
React Router
Client-side routing
Tailwind CSS
Utility-first styling
shadcn/ui
UI component library
TanStack Query
Server state management
React Hook Form
Form handling
Zod
Validation schemas
jsPDF
PDF generation
Backend Stack
Technology
Purpose
Node.js
Runtime environment
Express
Web framework
PostgreSQL
Database
Prisma
ORM & migrations
JWT
Authentication tokens
bcryptjs
Password hashing
Helmet
Security headers
Stripe
Payment processing
Zod
API validation
Design Principles
π Security First Role-based access control on every endpoint
π¦ Modular Design Feature-based code organization
π API-Driven Clean separation of frontend and backend
π Audit-Friendly Comprehensive logging for compliance
βͺ Church-Specific Built for ministry, not adapted from generic CRM
# 1. Clone the repository
git clone https://github.com/24Skater/StewardChMS.git
cd StewardChMS
# 2. Install dependencies
npm install
# 3. Set up environment
cp backend/.env.example backend/.env
# Edit .env with your database URL# 4. Initialize databasecd backend
npx prisma db push
npx prisma db seed
# 5. Start development serverscd ..
npm run dev
Using Docker
# Start with existing PostgreSQL container
docker-compose -f docker-compose.existing-db.yml up -d
# Or start everything fresh
docker-compose up -d
Configure these in Admin β Settings after first login:
Branding - Church name, logo, primary color
Email - SMTP or SendGrid configuration
Giving - Enable online giving, set up Stripe
π§ͺ Development
Available Scripts
# Run all services in development
npm run dev
# Run frontend only
npm run dev -w frontend
# Run backend only
npm run dev -w backend
# Type checking
npm run typecheck
# Linting
npm run lint
# Run tests
npm test# Database operations
npm run db:push -w backend # Push schema
npm run db:seed -w backend # Seed data
npm run db:studio -w backend # Open Prisma Studio
Testing
# Run all tests
npm test# Run frontend tests
npm test -w frontend
# Run backend tests
npm test -w backend
# Run with coverage
npm test -- --coverage
πΊοΈ Roadmap
β Completed
Authentication & RBAC
Member Management
Household Linking
Events & Worship Planning
Communication Center
Giving & Accounting
Reporting & Exports
Sales & Inventory
Setup Wizard
Admin Settings
Groups & Ministries
Kids Check-In
Online Giving Portal
CI/CD Pipeline
π Coming Soon
Mobile-responsive improvements
Push notifications
Calendar integrations
Multi-campus support
Advanced reporting dashboards
Volunteer scheduling
π€ Contributing
Contributions are welcome! Please read our contributing guidelines and code of conduct.
Fork the repository
Create a feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
βοΈ A Note on Purpose
Steward Β· ChMS was built as an expression of faith in the Lord Jesus Christ.
The Church is called to steward people, time, and resources with integrity, excellence, and love. This project exists to serve that calling by providing tools that help churches care well for their communities and operate with transparency and faithfulness.
"Moreover it is required in stewards, that a man be found faithful."
β 1 Corinthians 4:2 (KJV)
Built with β€οΈ for the Church
About
StewardChMS is a modern Church Management System for managing members, families, events, worship planning, communication, giving, and reporting.