Altar is a comprehensive, modern, and role-based Church Management System built with Next.js and Firebase. It is designed to streamline administrative tasks, manage memberships, track attendance, and oversee church finances in a secure, intuitive environment.
Altar features a robust persona system that tailors the dashboard experience based on the user's role:
- Admin: Full system access, user creation, role assignment, and audit log viewing.
- Pastor: Access to church demographics, member spiritual growth profiles, pastoral notes, and leadership insights.
- Finance: Dedicated dashboard for tracking tithes, offerings, managing funds, and performing financial reconciliations.
- Leader: Ministry-specific views and event management capabilities.
- Usher: Specialized Service Check-In interface for scanning member QR codes and logging new visitors.
- Member: Personal dashboard to view own profile, giving history, upcoming events, and access their personal dynamic QR code for easy check-in.
- Unified Directory: Searchable and filterable directory of all registered church members.
- Detailed Profiles: Track personal info, family connections, important dates (DOB, Baptism, Joined), and contact details.
- Pastoral Insights: Secure, role-restricted space for Pastors to add notes regarding visitation, spiritual growth, and pastoral care.
- Administrative Tools: Admins can quickly create new accounts, trigger password resets, and adjust roles directly from the Members Hub.
- Dynamic QR Check-in: High-fidelity scanner interface for swift member check-ins.
- Visitor Registration: Ushers can quickly log first-time visitors (Name, Phone).
- Service Categories: Track attendance across different services (e.g., Sunday Service, Mid-week Service, Special Events).
- Manual Logging: Secure forms for recording cash, check, or bank transfer donations.
- Reconciliation Module: Tools for the finance team to validate transactions against bank statements.
- Categorized Tracking: Differentiate between Tithes, Offerings, Pledges, and specific project funds.
- Reporting: Generate visual breakdowns and export data for church leadership.
- Announcements: Broadcast church-wide news with priority flags and expiration dates.
- Event Management: Create upcoming events and manage member registrations.
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS v4 + native CSS custom properties for dynamic theming (Dark/Light mode native support).
- Database & Auth: Firebase (Authentication & Firestore).
- Icons: Lucide React.
- Components: Custom, accessible UI components with modern glassmorphism and state-driven animations.
- Node.js 18+
- A Firebase Project (with Authentication and Firestore enabled)
Create a .env.local file in the root directory and add your Firebase configuration:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id-
Install Dependencies
npm install
-
Run the Development Server
npm run dev
-
Access the Application Open http://localhost:3000 with your browser.
Upon first deployment, you will need to create the initial Admin user.
- Register a new account via the UI (
/register). - The first account created needs to manually have its role set to
admindirectly within the Firebase Firestore Console (in theuserscollection). - Once the first Admin is established, all subsequent role management can be performed securely inside the Altar Members Hub.
Built to empower church connectivity and administration.