A robust church registration platform built with Django, featuring member management and a custom admin dashboard with analytics.
- Member registration and management system
- Custom admin dashboard with role-based access control
- Analytics and audit logging
- Responsive Bootstrap 5.3 UI
- Secure authentication system
The project consists of two main applications:
-
members
- Handles member registration
- Manages member data and logic
- Custom views and forms
-
custom_admin
- Custom user model with role-based access
- Admin dashboard with analytics
- Audit logging system
- Authentication views (signup, login)
- Python 3.11+
- pip
- virtualenv (recommended)
- Clone the repository
git clone [email protected]:am-derrick/church_reg.git
cd church_registration
- Create and activate virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies
pip install -r requirements.txt
- Configure environment variables
cp .env.example .env
Required environment variables:
DJANGO_SECRET_KEY
: Random secret key for DjangoDEBUG
: Set toTrue
for developmentDEVELOPMENT_MODE
: Set toTrue
for developmentDJANGO_ALLOWED_HOSTS
: Comma-separated list of allowed hostsDATABASE_URL
: Database connection string (optional)
- Setup database
python manage.py migrate
python manage.py makemigrations
- Run development server
python manage.py runserver
The application will be available at http://127.0.0.1:8000
python manage.py test
This project follows the Black code style. To format your code:
black .
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email [email protected] or open an issue in the repository.