129 lines
4.0 KiB
Markdown
129 lines
4.0 KiB
Markdown
# DMARQ Implementation Todo List
|
|
|
|
This file tracks the specific implementation tasks for each milestone of the DMARQ project.
|
|
|
|
## Milestone 1: Minimal Viable Product (MVP)
|
|
|
|
### Infrastructure Setup
|
|
- [ ] Set up FastAPI project structure
|
|
- [ ] Configure Tailwind CSS
|
|
- [ ] Add ShadCN/UI components library
|
|
- [ ] Create Docker and Docker Compose files
|
|
- [ ] Set up CI/CD pipeline (optional for MVP)
|
|
|
|
### Core DMARC Parser
|
|
- [ ] Integrate parsedmarc library
|
|
- [ ] Create parsing service for DMARC XML reports
|
|
- [ ] Add support for ZIP/GZ compression extraction
|
|
- [ ] Implement validation for uploaded reports
|
|
|
|
### Data Models
|
|
- [ ] Create Domain model
|
|
- [ ] Create AggregateReport model
|
|
- [ ] Create ReportRecord model for individual sending sources
|
|
- [ ] Design in-memory storage for MVP phase
|
|
|
|
### API Endpoints
|
|
- [ ] Create domain registration endpoint
|
|
- [ ] Create report upload endpoint
|
|
- [ ] Create domain summary endpoints
|
|
- [ ] Create detailed report view endpoints
|
|
|
|
### Frontend
|
|
- [ ] Create base layout template
|
|
- [ ] Implement dashboard overview page
|
|
- [ ] Create domain list component
|
|
- [ ] Build report upload interface
|
|
- [ ] Implement domain detail view
|
|
- [ ] Create report detail view
|
|
- [ ] Add basic visualization components for report statistics
|
|
|
|
### Testing
|
|
- [ ] Create unit tests for parser
|
|
- [ ] Create API tests
|
|
- [ ] Collect sample DMARC reports for testing
|
|
- [ ] Manual UI testing
|
|
|
|
### Documentation
|
|
- [ ] Create user guide for MVP
|
|
- [ ] Document deployment instructions
|
|
- [ ] Add sample screenshots
|
|
|
|
## Milestone 2: IMAP Integration
|
|
|
|
### IMAP Client
|
|
- [ ] Create IMAP connection service
|
|
- [ ] Implement mailbox search functionality for DMARC reports
|
|
- [ ] Add attachment extraction capabilities
|
|
- [ ] Create email filtering logic (by sender, subject)
|
|
- [ ] Add processed email tracking
|
|
|
|
### Scheduler
|
|
- [ ] Implement background task system
|
|
- [ ] Create scheduler for periodic mailbox checking
|
|
- [ ] Add timestamp tracking for fetched reports
|
|
- [ ] Create logging for background processes
|
|
|
|
### Configuration
|
|
- [ ] Create configuration model for IMAP settings
|
|
- [ ] Build configuration UI
|
|
- [ ] Implement secure credential storage
|
|
- [ ] Add connection testing functionality
|
|
|
|
### Frontend Updates
|
|
- [ ] Add IMAP configuration page
|
|
- [ ] Create last sync indicator
|
|
- [ ] Implement manual sync trigger button
|
|
- [ ] Add status indicators for background processes
|
|
|
|
## Milestone 3: Database Integration
|
|
|
|
### Database Setup
|
|
- [ ] Set up SQLAlchemy ORM
|
|
- [ ] Create SQLite database (for initial version)
|
|
- [ ] Design database schema with migrations
|
|
- [ ] Implement data access layer
|
|
|
|
### Model Migration
|
|
- [ ] Convert in-memory models to database models
|
|
- [ ] Create Domain table
|
|
- [ ] Create AggregateReport table
|
|
- [ ] Create ReportRecord table for sender details
|
|
- [ ] Implement relationships between models
|
|
|
|
### Domain Management
|
|
- [ ] Create UI for adding/editing domains
|
|
- [ ] Implement domain validation
|
|
- [ ] Add domain deletion with data cleanup
|
|
- [ ] Create domain filtering/search for larger sets
|
|
|
|
### Query Optimization
|
|
- [ ] Add pagination for large report sets
|
|
- [ ] Implement efficient queries for dashboard stats
|
|
- [ ] Create data summarization for performance
|
|
- [ ] Add database indexes for common queries
|
|
|
|
## Milestone 4: Dashboard Enhancements
|
|
|
|
### Data Visualization
|
|
- [ ] Integrate Chart.js library
|
|
- [ ] Create time-series charts for DMARC compliance
|
|
- [ ] Add volume charts for email traffic
|
|
- [ ] Implement sender breakdown visualizations
|
|
- [ ] Create policy distribution charts
|
|
|
|
### Dashboard Widgets
|
|
- [ ] Create compliance rate summary widget
|
|
- [ ] Add enforcement rate widget
|
|
- [ ] Implement email volume trends widget
|
|
- [ ] Create top sender sources widget
|
|
- [ ] Add alert status summary (for later integration)
|
|
|
|
### Historical Data
|
|
- [ ] Implement date range filtering
|
|
- [ ] Create historical trend analysis
|
|
- [ ] Add data aggregation for different time periods
|
|
- [ ] Implement data comparison features
|
|
|
|
## Future Milestones
|
|
Additional tasks for Milestones 5-11 will be added as we approach those phases of development. |