Skip to content

Repository files navigation

GraceFlow CMS 🕊️

License: MIT Next.js TypeScript Database

GraceFlow CMS is a modern, modular, secure, and open-source Church Management System built for churches and Christian ministries globally. Designed to streamline administrative workflow without bloat or operational friction, GraceFlow CMS empowers leadership to shepherd their congregation with clarity and efficiency.


✨ Features

  • 👥 Member & Family Management: Complete directory for individual members, family structures, emergency contacts, baptism status, and department affiliations.
  • 📋 Attendance Tracking: Record, monitor, and analyze attendance across Sunday services, mid-week meetings, and special ministry events.
  • 🏛️ Department & Ministry Coordination: Organize church units, team rosters, leadership assignments, and member roles.
  • 🎂 Birthday & Anniversary Reminders: Automated tracking and celebratory notifications for member birthdays and milestones.
  • 📖 Sermon & Bible Study Library: Store, catalogue, and publish sermon archives, audio notes, and weekly Bible study outlines.
  • ✉️ Multi-Channel Communication: Reach congregation members via integrated Email, Bulk SMS, and WhatsApp broadcast templates.
  • 🔒 Role-Based Audit Logging: Enterprise-grade security audit logs capturing user actions, IP addresses, and device signatures.
  • 🌐 Public Self-Registration Portal: Dedicated lightweight public portal allowing new visitors and members to register seamlessly.

🛠️ Tech Stack


🚀 Quick Start & Installation

Prerequisites

  • Node.js v18.0 or higher
  • MongoDB instance (Local or MongoDB Atlas)
  • npm or yarn package manager

Installation Steps

  1. Clone the Repository

    git clone https://github.com/your-org/graceflow-cms.git
    cd graceflow-cms
  2. Install Dependencies

    npm install
  3. Configure Environment Variables Copy .env.example to .env.local and set your credentials:

    cp .env.example .env.local

    Ensure you set JWT_SECRET and your MONGODB_URI.

  4. Initialize Database & Seed (Optional)

    npm run seed
  5. Run the Development Server

    npm run dev

    Open http://localhost:3000 in your browser.


🔒 Security Highlights

  • JWT Auth & HTTP-Only Cookies: Prevents XSS token theft by storing session state strictly in HTTP-Only cookies.
  • Sliding-Window Rate Limiting: Protects sensitive endpoints (Login, Uploads, Setup) against brute-force attacks.
  • Strict Security Headers: Pre-configured with X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Strict-Transport-Security, and restrictive Permissions-Policy.
  • Sanitized Upload Handler: File upload endpoints enforce strict MIME type matching, extension verification, and random filename hashing.
  • Zero Raw Stack Leaks: Production error handling ensures internal database exceptions are never leaked to external clients.

🤝 Contributing

We welcome global open-source contributions! Please review our CONTRIBUTING.md guide for instructions on submitting bug fixes, feature requests, and code enhancements.


📄 License

GraceFlow CMS is licensed under the MIT License. Free for personal, commercial, and ministry use worldwide.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages