A modern, comprehensive church resource management system built with React, Express.js, and PostgreSQL. Specifically designed for Watchman Catholic Charismatic Renewal Movement Lagos to strengthen connections through seamless digital experiences.
Watchman Catholic Charismatic Renewal Movement, Lagos: This is a comprehensive church resource management platform developed specifically for Watchman Catholic Charismatic Renewal Movement, Lagos.
- Video and audio sermon streaming
- Sermon series organization
- Speaker profiles and search
- Thumbnail management
- Download capabilities
- Community event calendar
- RSVP functionality
- Event categories and filtering
- Image galleries
- Location mapping integration
- Anonymous and authenticated submissions
- Prayer count tracking
- Community prayer support
- Privacy controls
- Request categorization
- Secure online giving platform
- Multiple payment methods
- Donation history tracking
- Recurring giving options
- Tax receipt generation
- Secure user registration/login
- Role-based access control
- Profile management
- Session management
- OAuth integration
- Church-specific color schemes
- Logo and image management
- Font customization
- Theme switching
- White-label solution
- React 18 - Modern UI framework
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Radix UI - Accessible component library
- Vite - Fast build tool
- React Query - Server state management
- Wouter - Lightweight routing
- Express.js - Web application framework
- Node.js - JavaScript runtime
- TypeScript - Type-safe server code
- Drizzle ORM - Type-safe database queries
- PostgreSQL - Robust database system
- Express Session - Session management
- ESBuild - Fast JavaScript bundler
- PostCSS - CSS processing
- Vercel - Deployment platform
- Node.js 18+
- PostgreSQL database
- Git
git clone git@github.com:Moses-main/WCCRM_Lagos.git
cd WCCRM_LagosNote: You're cloning the Watchman Catholic Charismatic Renewal Movement Lagos Church Resource Management platform.
npm installCreate a .env file in the root directory:
# Database Configuration
DATABASE_URL=postgresql://username:password@host:port/database?sslmode=require
# Authentication
SESSION_SECRET=your_secure_session_secret
# Optional: Object Storage
PUBLIC_OBJECT_SEARCH_PATHS=path1,path2
PRIVATE_OBJECT_DIR=your_private_directory# Create database tables
node setup-db.js
# Or use Drizzle migrations
npm run db:pushnpm run devVisit http://localhost:5000 to access the application.
- Setup Branding: Customize colors, fonts, and logos
- Add Content: Upload sermons, create events
- Manage Users: Configure roles and permissions
- Monitor Analytics: Track engagement and donations
- Browse Content: Watch sermons, view events
- Participate: RSVP to events, submit prayer requests
- Give: Make secure donations online
- Connect: Engage with community features
WCCRM_Lagos/
├── client/ # React Frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility libraries
│ │ └── index.css # Global styles
│ └── index.html # HTML template
│
├── server/ # Express Backend
│ ├── index.ts # Server entry point
│ ├── routes.ts # API route definitions
│ ├── db.ts # Database configuration
│ └── storage.ts # Data access layer
│
├── shared/ # Shared TypeScript types
│ ├── schema.ts # Database schema
│ └── routes.ts # API route definitions
│
├── setup-db.js # Database initialization
└── package.json # Dependencies & scripts
npm run dev # Start development server
npm run build # Build for production
npm start # Start production server
npm run check # TypeScript type checking
npm run db:push # Push database schema changesGET /api/sermons- List all sermonsGET /api/sermons/:id- Get specific sermonPOST /api/sermons- Create new sermon (auth required)
GET /api/events- List all eventsGET /api/events/:id- Get specific eventPOST /api/events- Create new event (auth required)POST /api/events/:id/rsvp- RSVP to event (auth required)
GET /api/prayer-requests- List prayer requestsPOST /api/prayer-requests- Submit prayer request (auth required)POST /api/prayer-requests/:id/pray- Increment prayer count
POST /api/donations- Process donation
GET /api/branding- Get current brandingPOST /api/branding- Update branding (auth required)
The platform supports extensive theming through CSS custom properties:
:root {
--primary: 215 25% 27%; /* Deep Slate Blue */
--secondary: 210 40% 96%; /* Light Gray */
--accent: 262 83% 58%; /* Purple Accent */
/* ... more variables */
}Update church branding programmatically:
const branding = {
colors: {
primary: "#1e40af",
secondary: "#f8fafc",
accent: "#3b82f6"
},
fonts: {
heading: "Inter",
body: "Inter"
},
logoUrl: "https://example.com/logo.png"
};
await fetch('/api/branding', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(branding)
});- SQL Injection Protection - Parameterized queries with Drizzle ORM
- XSS Prevention - Input sanitization and CSP headers
- CSRF Protection - Token-based validation
- Secure Sessions - HTTP-only cookies with secure flags
- Environment Variables - Sensitive data protection
- Role-Based Access - Granular permission system
- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
- Vercel automatically builds and deploys
- Zero-configuration deployment
- Build the application:
npm run build - Serve
dist/folder with any web server - Configure database connection
- Set up SSL certificate
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 5000
CMD ["npm", "start"]We welcome contributions to the WCCRM Lagos platform!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
This is Watchman Catholic Charismatic Renewal Movement Lagos' resource management system - all contributions are welcome!
- Follow TypeScript strict mode
- Use ESLint and Prettier
- Write meaningful commit messages
- Add tests for new features
- Update documentation
- Server-side rendering ready
- Image lazy loading
- Code splitting
- Database query optimization
- CDN-ready static assets
GET /health- Application health checkGET /api/stats- Usage statistics- Performance metrics via console logging
Database Connection Failed
# Check DATABASE_URL format
export DATABASE_URL="postgresql://user:pass@host:port/db?sslmode=require"Port Already in Use
# Kill process on port 5000
lsof -ti:5000 | xargs kill -9Build Errors
# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm installStyling Issues
# Rebuild Tailwind CSS
npm run buildThis project is licensed under the MIT License - see the LICENSE file for details.
- Built with love for church communities worldwide
- Inspired by the need for better digital community tools
- Special thanks to open-source contributors
For support and questions:
- Create an issue on GitHub
- Check the troubleshooting guide above
- Review the API documentation
Made with ❤️ by Moses for WCCRM Lagos and church communities seeking to connect, grow, and serve together in the digital age.
🎯 WCCRM Lagos: This WCCRM platform is specifically designed for Watchman Catholic Charismatic Renewal Movement, Lagos, representing a complete, modern solution for church resource management and community engagement.
- Mobile application (React Native)
- Advanced analytics dashboard
- Multi-language support
- Live streaming integration
- Member directory
- Small groups management
- Volunteer scheduling
- Automated email campaigns
- Advanced reporting tools
- Third-party integrations (Zoom, Google Calendar)
- v1.0.0 - Initial release with core features
- v1.1.0 - Enhanced UI/UX and performance improvements
- v1.2.0 - Advanced authentication and role management
- v2.0.0 - Complete platform overhaul (current)