A comprehensive church management system built with Node.js/Express backend and HTML/CSS/JavaScript frontend.
- Member Management: Complete member profiles, family grouping, attendance tracking, volunteer management
- Event Management: Service scheduling, event calendar, room booking, event registration
- Giving & Donations: Online giving, donation tracking, tithing records, tax receipt generation
- Communication: Email/SMS notifications, announcements, prayer requests, newsletter system
- Ministry Management: Small groups, volunteer scheduling, ministry team coordination
- Content Management: Sermon/media library, blog/devotionals, photo galleries
- Responsive Design: Works on all devices (desktop, tablet, mobile)
- User Authentication: Secure login system with role-based access control
- Modern UI: Clean, professional interface using Bootstrap 5
- Data Visualization: Charts and graphs for reports and analytics
- Real-time Updates: Dynamic content loading and updates
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database (configurable for other databases)
- JWT - Authentication
- Winston - Logging
- Nodemailer - Email services
- HTML5/CSS3 - Markup and styling
- JavaScript (ES6+) - Application logic
- Bootstrap 5 - UI framework
- Font Awesome - Icons
- FullCalendar - Event calendar
- Chart.js - Data visualization
- Node.js (v14 or higher)
- MongoDB (or your preferred database)
- Git
-
Clone the repository
git clone <repository-url> cd "Church Management New Generation"
-
Install Backend Dependencies
cd backend npm install -
Configure Environment Variables
cp .env.example .env
Edit
.envfile with your configuration:PORT=5000 NODE_ENV=development MONGODB_URI=mongodb://localhost:27017/generation_of_faith JWT_SECRET=your_jwt_secret_key JWT_EXPIRE=30d SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_EMAIL=your-email@gmail.com SMTP_PASSWORD=your-email-password FRONTEND_URL=http://localhost:3000 STRIPE_SECRET_KEY=your_stripe_secret_key -
Start MongoDB
# For MongoDB installation mongod -
Start Backend Server
npm run dev
-
Open Frontend Open
frontend/index.htmlin your web browser or serve it with a web server:# Using Python simple server cd frontend python -m http.server 3000
- Email: admin@example.com
- Password: password123
- Admin: Full access to all features
- Pastor: Access to member management, events, giving reports
- Leader: Access to ministry management and events
- Volunteer: Limited access to assigned areas
- Member: View-only access to public information
- Dashboard: Overview of church statistics and recent activities
- Members: Complete member management system
- Events: Event scheduling and calendar management
- Giving: Donation tracking and financial reports
- Ministries: Ministry organization and volunteer management
- Reports: Analytics and reporting tools
- Settings: Church configuration and system settings
The system is designed to work with multiple databases. Currently configured for MongoDB:
- Install MongoDB on your system
- Create a database named
generation_of_faith - Update the
MONGODB_URIin your.envfile
To use other databases (MySQL, PostgreSQL, etc.), update the database connection in backend/app.js and install the appropriate driver.
POST /api/auth/login- User loginPOST /api/auth/register- User registrationGET /api/auth/me- Get current user
GET /api/members- Get all membersPOST /api/members- Create new memberPUT /api/members/:id- Update memberDELETE /api/members/:id- Delete member
GET /api/events- Get all eventsPOST /api/events- Create new eventPUT /api/events/:id- Update eventDELETE /api/events/:id- Delete event
GET /api/giving- Get all donationsPOST /api/giving- Create new donationGET /api/giving/reports- Get giving reports
GET /api/ministries- Get all ministriesPOST /api/ministries- Create new ministryPUT /api/ministries/:id- Update ministryDELETE /api/ministries/:id- Delete ministry
- JWT Authentication: Secure token-based authentication
- Password Encryption: Bcrypt password hashing
- Role-Based Access Control: Different access levels for different user types
- Input Validation: Server-side validation for all inputs
- CORS Protection: Cross-origin resource sharing protection
-
Environment Setup
NODE_ENV=production
-
Build Process
- Minify CSS and JavaScript files
- Optimize images
- Configure production database
-
Server Configuration
- Use reverse proxy (Nginx/Apache)
- Configure SSL/TLS
- Set up process manager (PM2)
-
Database Backup
- Regular database backups
- Automated backup scripts
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For support and questions:
- Email: support@generationoffaith.org
- Documentation: Check the
/docsfolder - Issues: Report issues on GitHub
This project is licensed under the MIT License - see the LICENSE file for details.
- Initial release
- Basic member management
- Event scheduling
- Donation tracking
- Ministry management
- Responsive design
- Authentication system
- Mobile app development
- Advanced reporting features
- Integration with social media
- Live streaming capabilities
- Advanced analytics
- Multi-language support
- SMS integration
- Advanced payment processing
- Volunteer scheduling system
- Resource management
- Advanced security features