5e8b1f033f
- Created main documentation index and user guide with sections on getting started, dashboard overview, managing domains, and reports. - Added detailed deployment guide for Docker and manual installation. - Included user-friendly explanations of DMARC, its benefits, and how to manage domains and reports. - Implemented visual assets for dashboard, domains, IMAP, and reports. - Established requirements for documentation build using MkDocs and Material theme. - Integrated navigation structure for easy access to all documentation sections.
128 lines
3.9 KiB
Markdown
128 lines
3.9 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
|
|
- [x] Set up FastAPI project structure
|
|
- [x] Configure Tailwind CSS
|
|
- [x] Create Docker and Docker Compose files
|
|
- [ ] Set up CI/CD pipeline (optional for MVP)
|
|
|
|
### Core DMARC Parser
|
|
- [x] Integrate parsedmarc library
|
|
- [x] Create parsing service for DMARC XML reports
|
|
- [x] Add support for ZIP/GZ compression extraction
|
|
- [x] Implement validation for uploaded reports
|
|
|
|
### Data Models
|
|
- [x] Create Domain model
|
|
- [x] Create AggregateReport model
|
|
- [x] Create ReportRecord model for individual sending sources
|
|
- [x] Design in-memory storage for MVP phase
|
|
|
|
### API Endpoints
|
|
- [x] Create domain registration endpoint
|
|
- [x] Create report upload endpoint
|
|
- [x] Create domain summary endpoints
|
|
- [x] Create detailed report view endpoints
|
|
|
|
### Frontend
|
|
- [x] Create base layout template
|
|
- [x] Implement dashboard overview page
|
|
- [x] Create domain list component
|
|
- [x] Build report upload interface
|
|
- [x] Implement domain detail view
|
|
- [x] Create report detail view
|
|
- [x] Add basic visualization components for report statistics
|
|
|
|
### Testing
|
|
- [x] Create unit tests for parser
|
|
- [x] Create API tests
|
|
- [x] Collect sample DMARC reports for testing
|
|
- [x] Manual UI testing
|
|
|
|
### Documentation
|
|
- [x] Create user guide for MVP
|
|
- [x] Document deployment instructions
|
|
- [x] Add sample screenshots
|
|
|
|
## Milestone 2: IMAP Integration
|
|
|
|
### IMAP Client
|
|
- [x] Create IMAP connection service
|
|
- [x] Implement mailbox search functionality for DMARC reports
|
|
- [x] Add attachment extraction capabilities
|
|
- [x] Create email filtering logic (by sender, subject)
|
|
- [x] Add processed email tracking
|
|
|
|
### Scheduler
|
|
- [x] Implement background task system
|
|
- [x] Create scheduler for periodic mailbox checking
|
|
- [x] Add timestamp tracking for fetched reports
|
|
- [x] Create logging for background processes
|
|
|
|
### Configuration
|
|
- [x] Create configuration model for IMAP settings
|
|
- [x] Build configuration UI
|
|
- [x] Implement secure credential storage
|
|
- [x] Add connection testing functionality
|
|
|
|
### Frontend Updates
|
|
- [x] Add IMAP configuration page
|
|
- [x] Create last sync indicator
|
|
- [x] Implement manual sync trigger button
|
|
- [x] Add status indicators for background processes
|
|
|
|
## Milestone 3: Database Integration
|
|
|
|
### Database Setup
|
|
- [x] Set up SQLAlchemy ORM
|
|
- [x] Create SQLite database (for initial version)
|
|
- [x] Design database schema with migrations
|
|
- [x] Implement data access layer
|
|
|
|
### Model Migration
|
|
- [x] Convert in-memory models to database models
|
|
- [x] Create Domain table
|
|
- [x] Create AggregateReport table
|
|
- [x] Create ReportRecord table for sender details
|
|
- [x] Implement relationships between models
|
|
|
|
### Domain Management
|
|
- [x] Create UI for adding/editing domains
|
|
- [x] Implement domain validation
|
|
- [x] Add domain deletion with data cleanup
|
|
- [x] Create domain filtering/search for larger sets
|
|
|
|
### Query Optimization
|
|
- [x] Add pagination for large report sets
|
|
- [x] Implement efficient queries for dashboard stats
|
|
- [x] Create data summarization for performance
|
|
- [x] 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. |