惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
V
V2EX
博客园 - 司徒正美
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
雷峰网
雷峰网
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
爱范儿
爱范儿
博客园 - 聂微东
量子位
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - think41/extrasuite: Token-efficient pull/edit/push workflow for AI agents editing Google Workspace files (Sheets, Docs, Slides, Forms) GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw
GitHub - AvaCodeSolutions/django-email-learning: An open ...
2026-04-10 · via Hacker News: Show HN

Django Email Learning Logo

A Django package for creating email-based learning platforms with IMAP integration and React frontend components.

License Python Django Tests

What is django-email-learning?

django-email-learning is an open-source Django app in active beta development, designed to provide a complete email-based learning platform. It is inspired by the Darsnameh email-learning service, which unfortunately shut down in July 2017. This library aims to revive that concept and make it accessible to anyone who wants to launch a similar service. Before the first stable release (v1.0.0), some APIs, settings, or behavior may still evolve (including occasional breaking changes), and early adopters can help shape the roadmap through feedback, bug reports, and contributions.

Why an email learning platform?

An email learning platform is a type of e-learning system where course content is delivered directly to learners’ inboxes. Platform admins can create courses, lessons, and quizzes, and configure the timing rules that determine when each next lesson or quiz is sent.

The system exposes management commands and/or API endpoints that can be triggered by cron jobs or cloud schedulers to:

  • Track learner progress

  • Send lessons and quizzes via email

  • Handle automated transitions between course steps

Additionally, the platform can issue online completion certificates that learners can verify using a QR code.

Why use email for e-learning?

While modern e-learning platforms often rely heavily on video content and complex web interfaces, email remains a powerful and inclusive channel. Some of the reasons:

  • Low bandwidth requirement: Email works well in regions with slow or unstable internet.

  • High accessibility: No need to install apps or log into a portal—lessons arrive directly in the inbox.

  • Resilience to censorship: Emails are often less likely to be blocked than certain websites or platforms under restrictive governments.

  • Simplicity: Email is universal, familiar, and works on virtually any device.

UI Preview

A quick look at the platform interface:

Course Dashboard Public Organization Page
Course Dashboard Public Organization Page
Learner Progress Certificate
Learner Progress Certificate

Documentation

Comprehensive documentation is available at django-email-learning.readthedocs.io, including:

  • Installation Guide: Step-by-step setup instructions
  • Platform Management: Creating organizations, courses, and managing learners
  • Technical Reference: Management commands and configuration
  • Usage Examples: Real-world implementation scenarios

Try It as a Learner

Want to experience the platform from a learner perspective? Enroll in a public course at:

Installation

This is a Django app, so we assume you already have Django installed.

1. Install the Package

pip install django-email-learning

2. Add to INSTALLED_APPS

Add django_email_learning to your INSTALLED_APPS in the Django settings file:

INSTALLED_APPS = [
    ...
    'django_email_learning',
]

3. Configure Settings

Add the required configuration for the site base URL in your Django settings:

DJANGO_EMAIL_LEARNING = {
    "SITE_BASE_URL": "<YOUR_SITE_BASE_URL_STARTING_WITH_HTTP>",
    "ENCRYPTION_SECRET_KEY": "<LONG_RANDOM_STRING>",
}

ENCRYPTION_SECRET_KEY should be a long random string used to protect sensitive values such as stored API Keys.

4. Configure Media Files

This app uses Django's MEDIA files to save organization logos. Ensure your media settings are configured correctly. See the MEDIA_URL setting for details.

5. Run Migrations

python manage.py migrate

6. Add URLs

Include the app URLs in your main Django URLs configuration:

from django.urls import path, include
from django_email_learning import urls as email_learning_urls

urlpatterns = [
    ...
    path('your_preferred_path/', include(email_learning_urls, namespace='django_email_learning')),
]

The platform will be accessible at your_preferred_path/platform/.

Access Control Notes

  • Platform Access: You need to be logged in to access the /platform sub-URL, which is used for managing courses and viewing learner progress.

Usage

Content Delivery

This app uses the email backend defined in Django settings to deliver course content. Assuming you have active courses and enrollments, you need to schedule a job that runs the content delivery management command periodically (e.g., using cron or a cloud scheduler).

Execute the content delivery job using:

python manage.py deliver_contents

You can also trigger this job via API, which is useful when running from an external scheduler (for example, cloud scheduler services):

GET /your_preferred_path/api/jobs/deliver_contents/
Authorization: Bearer <API_KEY>

This endpoint requires an API key. You can generate and manage API keys from Platform Settings > API Keys in the platform UI.

Contributing

We welcome contributions! Please read our Contributing Guide to learn about our development process, how to set up the development environment, and how to submit pull requests.

Sponsorship

Support our open-source work and community projects by sponsoring us through GitHub Sponsors or Open Collective. Depending on your sponsorship tier, we can feature your logo and link on the project’s README and documentation.

Sponsor us

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.