Skip to content

A self-service platform that generates personalized daily coding digests for developers and send emails.

Notifications You must be signed in to change notification settings

SKG24/dev-digest

Repository files navigation

Dev Digest - Personalized Coding Digest Generator

A professional, self-service platform that generates personalized daily coding digests for developers.

Features

  • GitHub Integration: Track issues, pull requests, and trending repositories
  • Stack Overflow: Get latest questions from your technology stack
  • Web Interface: Clean, professional UI for easy configuration
  • Multi-User Support: Scalable platform for multiple developers
  • Daily Automation: Scheduled digest delivery at 8 PM
  • Fault Tolerance: Comprehensive error handling and retry logic
  • Admin Panel: System monitoring and user management

Quick Start

Prerequisites

  • Python 3.9+
  • GitHub Personal Access Token
  • Email account with SMTP access (Gmail recommended)

Installation

  1. Clone the repository

    git clone <repository-url>
    cd dev-digest
  2. Run setup script

    python setup.py
  3. Update environment variables

    cp .env.example .env
    # Edit .env with your credentials
  4. Start the application

    python -m app.main
  5. Access the application

Docker Deployment

# Copy environment file
cp .env.example .env
# Edit .env with your credentials

# Start with Docker Compose
docker-compose up -d

Configuration

Environment Variables

# Required
GITHUB_TOKEN=your_github_personal_access_token
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your_app_password
[email protected]

# Optional
SECRET_KEY=your-secret-key-here
ADMIN_PASSWORD=your-admin-password
APP_URL=http://localhost:8000

Usage

For Users

  1. Sign Up: Visit the homepage and click "Get Started"
  2. Configure: Add your GitHub repositories, programming languages, and Stack Overflow tags
  3. Receive Digests: Get daily emails at 8 PM with personalized content

For Administrators

  1. Access Admin Panel: Visit /admin/login
  2. Monitor System: View user statistics and system health
  3. Manage Users: Monitor active users and digest delivery status

API Endpoints

Public Routes

  • GET / - Landing page
  • GET /signup - Registration form
  • POST /signup - Create new user
  • GET /dashboard - User dashboard (authenticated)
  • GET /settings - User settings (authenticated)
  • POST /settings - Update preferences (authenticated)

Admin Routes

  • GET /admin/login - Admin login
  • GET /admin - Admin dashboard (authenticated)

Internal API

  • POST /api/trigger-digest/{user_id} - Manual digest trigger

Testing

Run the test suite:

# Run all tests
python run_tests.py

# Run specific test file
python -m pytest tests/test_services.py -v

# Run with coverage
python -m pytest tests/ --cov=app --cov-report=html

Test is not updated as per the latest file structure.

Project Structure

dev-digest/
├── app/
│   ├── main.py              # FastAPI application
│   ├── database.py          # Database models
│   ├── models.py            # Pydantic models
│   └── services/            # Business logic
├── static/                  # CSS, JS files
├── templates/               # HTML templates
├── tests/                   # Test suite
├── docker/                  # Docker configuration
└── requirements.txt         # Python dependencies

Visuals

  1. Client Dashboard

    screenshot

  2. Client settings to change preferences

    screenshot screenshot

  3. Main Dashboard

    screenshot

  4. Admin Dashboard

    screenshot

  5. Email sent to Client

    screenshot screenshot screenshot screenshot screenshot

About

A self-service platform that generates personalized daily coding digests for developers and send emails.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published