A professional, self-service platform that generates personalized daily coding digests for developers.
- 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
- Python 3.9+
- GitHub Personal Access Token
- Email account with SMTP access (Gmail recommended)
-
Clone the repository
git clone <repository-url> cd dev-digest
-
Run setup script
python setup.py
-
Update environment variables
cp .env.example .env # Edit .env with your credentials
-
Start the application
python -m app.main
-
Access the application
- Web Interface: http://localhost:8000
- Admin Panel: http://localhost:8000/admin/login
# Copy environment file
cp .env.example .env
# Edit .env with your credentials
# Start with Docker Compose
docker-compose up -d
# 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
- Sign Up: Visit the homepage and click "Get Started"
- Configure: Add your GitHub repositories, programming languages, and Stack Overflow tags
- Receive Digests: Get daily emails at 8 PM with personalized content
- Access Admin Panel: Visit
/admin/login
- Monitor System: View user statistics and system health
- Manage Users: Monitor active users and digest delivery status
GET /
- Landing pageGET /signup
- Registration formPOST /signup
- Create new userGET /dashboard
- User dashboard (authenticated)GET /settings
- User settings (authenticated)POST /settings
- Update preferences (authenticated)
GET /admin/login
- Admin loginGET /admin
- Admin dashboard (authenticated)
POST /api/trigger-digest/{user_id}
- Manual digest trigger
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.
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