Skip to content

am-derrick/church_reg

Repository files navigation

Manifest Kenya Registration Platform

Python Version Django Version Bootstrap Version Code style: black License: MIT

Manifest Kenya

A robust church registration platform built with Django, featuring member management and a custom admin dashboard with analytics.

🚀 Features

  • 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

🏗️ Project Structure

The project consists of two main applications:

  1. members

    • Handles member registration
    • Manages member data and logic
    • Custom views and forms
  2. custom_admin

    • Custom user model with role-based access
    • Admin dashboard with analytics
    • Audit logging system
    • Authentication views (signup, login)

🌐 Live Demo

🛠️ Installation

Prerequisites

  • Python 3.11+
  • pip
  • virtualenv (recommended)

Local Development Setup

  1. Clone the repository
git clone [email protected]:am-derrick/church_reg.git
cd church_registration
  1. Create and activate virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Configure environment variables
cp .env.example .env

Required environment variables:

  • DJANGO_SECRET_KEY: Random secret key for Django
  • DEBUG: Set to True for development
  • DEVELOPMENT_MODE: Set to True for development
  • DJANGO_ALLOWED_HOSTS: Comma-separated list of allowed hosts
  • DATABASE_URL: Database connection string (optional)
  1. Setup database
python manage.py migrate
python manage.py makemigrations
  1. Run development server
python manage.py runserver

The application will be available at http://127.0.0.1:8000

🧪 Running Tests

python manage.py test

📝 Code Style

This project follows the Black code style. To format your code:

black .

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Useful Links

📧 Support

For support, email [email protected] or open an issue in the repository.