# ChurchCRM 7.3.3 - Features

A comprehensive, free, open-source church management system (CRM) built with PHP 8.4+ and MySQL/MariaDB.

## Core Features i want

### 👥 People & Members
- Member directory and profiles
- Family/household management
- Custom person and family fields
- Member roles and categorization
- Contact information management
- Person editor with detailed profiles
- Settings for individual members
- Individual role management

### 👫 Groups
- Sunday School classes
- Small groups and ministries
- Group properties and assignments
- Group reporting
- Group dashboard
- Custom group fields
- Group member management

### 💰 Finance & Donations
- **Donations**
  - Donation tracking and management
  - Donation funds and categories
  - Donation fund editor
  - Donated items tracking and replication
  - Cart system for donations

- **Pledges**
  - Pledge management with details
  - Pledge editor and deletion
  - Pledge tracking and analytics

- **Financial Analysis**
  - Financial reports and analysis
  - Financial summaries and dashboards
  - Financial analysis reports
  - Tax reports (year-end giving)
  - Customizable financial queries

- **Expenses**
  - Expense management and categorization
  - Expense editor
  - Expense list and filtering
  - Expense categories
  - Cost tracking by category

- **Bank & Deposits**
  - Deposit slip creation and tracking
  - Deposit slip editor and search
  - Check/envelope management
  - Paddle number management
  - Envelope management system

### 📅 Events
- Event calendar
- Event management
- Check-in system for attendees
- External calendar integration
- Event dashboard and reporting

### 📊 Reports
- Financial reports
- Directory reports (printing/export)
- Reminder reports
- Volunteer opportunity reports
- Group reports
- Pledge details and analysis
- Tax reporting

### 🏫 Church Kiosk
- Check-in system for attendance tracking
- Device management
- Administrative kiosk dashboard

### 🔧 Admin & System
- User account management
- User settings and preferences
- System settings and configuration
- Admin dashboard
- Get started guide
- Data import/export (CSV)
- Plugin system
- REST API with OpenAPI documentation

### 📄 Utilities & Tools
- Letters and labels (mail merge)
- Geocoding/mapping features
- Search functionality (global search)
- Background jobs and task scheduling
- Query builder
- Custom field management (unlimited)
- Batch operations
- Shopping cart functionality
- Notes and attachments
- Properties and property types
- Custom why/reason tracking ("Why Came")
- Volunteer opportunity management

### 🔐 Security & Authentication
- User authentication system
- Password management
- Two-factor authentication (2FA) support
- Role-based access control
- Session management
- CSRF protection
- CSP (Content Security Policy) headers

### 🌍 Additional Features
- Multi-language support (localization/gettext)
- Custom fields (unlimited custom data)
  - Person custom fields
  - Family custom fields
  - Group custom fields
- Batch operations
- Shopping cart functionality
- RSS/Calendar feeds
- Attendee management
- Volunteer tracking
- Property management system
- File attachments and uploads
- Automated backups
- Database export functionality

## Technical Stack

- **Language**: PHP 8.4+
- **Database**: MySQL 5.7+ / MariaDB 10.3+
- **API**: REST with OpenAPI/Swagger documentation
- **Frontend**: HTML5, JavaScript, Bootstrap
- **Architecture**: MVC with Service Layer
- **Extensibility**: Plugin system, REST API

## API Endpoints

- `/api/` - Base API endpoint
- `/api/openapi/` - OpenAPI documentation
- `/api/system/` - System configuration
- `/api/expenses/` - Expense management
- `/api/pledges/` - Pledge management
- `/api/calendar/` - Calendar integration
- `/api/search/` - Global search
- `/api/geocoder/` - Geolocation services
- `/api/map/` - Mapping services
- `/api/cart/` - Shopping cart API
- `/api/background/` - Background jobs

## Installation & Access

### Application URLs
- **Home/Dashboard**: http://localhost:8000/
- **Admin Panel**: http://localhost:8000/admin/
- **People/Members**: http://localhost:8000/people/
- **Groups**: http://localhost:8000/groups/
- **Finance**: http://localhost:8000/finance/
- **Events**: http://localhost:8000/event/
- **Reports**: http://localhost:8000/Reports/
- **Kiosk**: http://localhost:8000/kiosk/
- **API Docs**: http://localhost:8000/api/openapi/

### Default Login
- **Username**: `admin`
- **Password**: `changeme`

## License

MIT License - Free for personal and commercial use

## Support

- **Website**: https://churchcrm.io
- **Email**: info@churchcrm.io
- **GitHub**: https://github.com/ChurchCRM/CRM
- **Issues**: https://github.com/ChurchCRM/CRM/issues
- **Chat**: https://discord.gg/tuWyFzj3Nj
- **Documentation**: https://github.com/ChurchCRM/CRM/wiki
