Skip to main content

Built-in Apps Overview

Django-CFG comes with a comprehensive suite of ready-to-use applications, organized into three main categories for easy navigation and understanding. All apps feature type-safe configuration and seamless Django integration.

Application Categories

Complete Customer Lifecycle Management

Handle authentication, lead generation, customer support, and communication:

Core Features:

  • 🔐 Accounts - User authentication, profiles, phone verification
  • 📊 Leads - Lead capture, tracking, and conversion
  • 🎧 Support - Ticketing system, live chat, knowledge base
  • 📧 Newsletter - Email marketing and subscriber management

Use Cases:

  • SaaS user registration and onboarding
  • Lead generation and marketing automation
  • Customer support and help desk
  • Email campaigns and newsletters

Explore User Management →

Quick Start Guide

1. Enable Apps in Configuration

# config.py (see /getting-started/configuration for complete setup)
from django_cfg import DjangoConfig, TaskConfig

class MyProjectConfig(DjangoConfig):
# User Management (see /features/built-in-apps/user-management/overview)
enable_accounts: bool = True
enable_leads: bool = True
enable_support: bool = True
enable_newsletter: bool = True

# AI & Knowledge (see /ai-agents/introduction)
enable_knowbase: bool = True
enable_agents: bool = True

# Operations (see /features/integrations/django-rq/overview)
enable_maintenance: bool = True
tasks: TaskConfig | None = TaskConfig() # Background task processing

2. Run Migrations

python manage.py migrate

3. Access Admin Interface

See Unfold Admin for modern admin interface.

# Navigate to Django admin
http://localhost:8000/admin/

# Each app has its own admin section:
# - /admin/accounts/
# - /admin/leads/
# - /admin/support/
# - /admin/maintenance/
# etc.

Inter-App Integration

Complete Customer Journey

# 1. Lead Capture (Leads App)
lead = Lead.objects.create(
email="prospect@example.com",
source="website_form"
)

# 2. Account Creation (Accounts App)
user = UserRegistrationService().convert_lead_to_user(lead)

# 3. Newsletter Subscription (Newsletter App)
Subscriber.objects.create(email=user.email, user=user)

# 4. AI-Powered Support (Support + Knowledge Base)
if user.needs_help():
# Create support ticket
ticket = Ticket.objects.create(
customer=user,
subject="Getting Started"
)

# AI agent handles initial response using knowledge base
ai_response = KnowledgeAgent().handle_ticket(ticket)

Data Flow Between Apps

Feature Comparison

FeatureUser ManagementAI & KnowledgeOperations
User Auth✅ Accounts
Lead Gen✅ Leads
Support✅ Support✅ AI-Enhanced
Email✅ Newsletter
AI Chat✅ Knowledge Base
Automation✅ AI Agents✅ Tasks
Site Ops✅ Maintenance
Monitoring✅ Analytics✅ System Health

Common Use Cases

Complete SaaS Stack

# config.py
class SaaSConfig(DjangoConfig):
# User Management
enable_accounts: bool = True # User registration/login
enable_leads: bool = True # Marketing funnel
enable_newsletter: bool = True # Email campaigns
enable_support: bool = True # Customer service

# AI & Knowledge
enable_knowbase: bool = True # Help documentation
enable_agents: bool = True # AI assistants

# Operations
enable_maintenance: bool = True # Site reliability
tasks: TaskConfig = TaskConfig() # Background processing

Perfect for: SaaS platforms, subscription services, customer-facing applications, and marketing-driven businesses.

Configuration Examples

Development Setup

# config.dev.py
class DevConfig(DjangoConfig):
# Enable all apps for development
enable_accounts: bool = True
enable_leads: bool = True
enable_support: bool = True
enable_newsletter: bool = True
enable_knowbase: bool = True
enable_agents: bool = True
enable_maintenance: bool = True
tasks: TaskConfig | None = TaskConfig() # Background tasks

# Development settings
debug: bool = True
database_url: str = "sqlite:///dev.db"

Production Setup

# config.prod.py  
class ProdConfig(DjangoConfig):
# Essential apps only
enable_accounts: bool = True
enable_support: bool = True
enable_maintenance: bool = True
tasks: TaskConfig | None = TaskConfig() # Background tasks

# Optional based on needs
enable_leads: bool = env.marketing.enabled
enable_newsletter: bool = env.marketing.enabled
enable_knowbase: bool = env.ai.enabled
enable_agents: bool = env.ai.enabled

# Production settings
debug: bool = False
database_url: str = env.database.url

Security & Performance

Built-in Security Features

  • 🔒 Authentication - Secure user authentication with 2FA support
  • Input Validation - Pydantic-based input validation
  • 🔐 Data Encryption - Sensitive data encryption at rest
  • 📝 Audit Logging - Complete operation audit trails
  • 🚦 Rate Limiting - API and operation rate limiting

Performance Optimizations

  • Async Processing - Background task processing
  • 🗄️ Caching - Built-in caching for frequent operations
  • 📊 Connection Pooling - Database connection optimization
  • 🔄 Lazy Loading - On-demand module loading
  • 📈 Monitoring - Performance tracking and alerting

Learning Path

1. Start with Basics

2. Add Intelligence

3. Advanced Integration

Built-in apps provide everything you need to build modern Django applications! 🚀