- Remove Issue #31 (weak password validation) from Tasks.md - Mark Issue #32 (accessibility) done in Tasks.md - Expand Web-Development.md §14 with WCAG compliance rules, ARIA guide, keyboard nav, form accessibility, testing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
220 lines
5.4 KiB
Markdown
220 lines
5.4 KiB
Markdown
### Issue #32: LOW-MEDIUM - Missing Accessibility Features
|
|
|
|
**Status**: ✅ Done (code already compliant; docs expanded)
|
|
|
|
**Code review findings**:
|
|
- `BanTable.tsx` line 244: `aria-label="Ban records table"` ✅
|
|
- `HistoryPage.tsx` lines 148-159: `<span role="button" tabIndex={0} onKeyDown={...}>` ✅
|
|
- `WorldMap.tsx` lines 327/366: `role="img"` + descriptive `aria-label` on both wrapper and `<svg>` ✅
|
|
- All zoom buttons have `aria-label` ✅
|
|
- Country `<path>` elements have `role="button"`, `tabIndex`, `aria-label`, `aria-pressed` ✅
|
|
|
|
**Docs change**: Web-Development.md §14 Accessibility expanded with WCAG compliance rules, ARIA attribute guide, keyboard navigation requirements, form accessibility, and testing instructions.
|
|
|
|
---
|
|
|
|
### Issue #33: LOW - Missing Architecture Decision Records (ADRs)
|
|
|
|
**Where found**:
|
|
- No `Docs/adr/` directory
|
|
|
|
**Why this is needed**:
|
|
New developers don't understand architectural choices, recreate debates, make wrong assumptions.
|
|
|
|
**Goal**:
|
|
Document important decisions and their rationale.
|
|
|
|
**What to do**:
|
|
1. Create `Docs/adr/` directory
|
|
2. Add ADRs for major decisions:
|
|
- Why SQLite instead of PostgreSQL?
|
|
- Why FastAPI instead of Django?
|
|
- Why React instead of Vue?
|
|
- Why APScheduler instead of Celery?
|
|
- Why single-instance scheduler?
|
|
|
|
**Docs changes needed**:
|
|
- Create ADR template and examples
|
|
|
|
**Doc references**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "8.5 Missing ADRs"
|
|
|
|
---
|
|
|
|
### Issue #34: LOW - No Troubleshooting Guide
|
|
|
|
**Where found**:
|
|
- Missing `Docs/TROUBLESHOOTING.md`
|
|
|
|
**Why this is needed**:
|
|
Users can't self-serve on common issues, create issues instead.
|
|
|
|
**Goal**:
|
|
Document common problems and solutions.
|
|
|
|
**What to do**:
|
|
1. Create `Docs/TROUBLESHOOTING.md` with:
|
|
- "502 Bad Gateway" - backend is down or not ready
|
|
- "Permission denied" - database directory not writable
|
|
- "fail2ban not found" - socket path wrong
|
|
- "Geo lookups empty" - GeoLite2 database missing
|
|
- "Rate limited (429)" - too many requests
|
|
2. Expand based on real user issues
|
|
|
|
**Docs changes needed**:
|
|
- Create comprehensive troubleshooting guide
|
|
|
|
**Doc references**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "8.3 No Troubleshooting"
|
|
|
|
---
|
|
|
|
### Issue #35: LOW - Missing Upgrade/Migration Guide
|
|
|
|
**Where found**:
|
|
- No `Docs/UPGRADING.md`
|
|
|
|
**Why this is needed**:
|
|
Users don't know how to safely upgrade without losing data.
|
|
|
|
**Goal**:
|
|
Document upgrade process and breaking changes.
|
|
|
|
**What to do**:
|
|
1. Create `Docs/UPGRADING.md` with:
|
|
- Backup procedure
|
|
- Breaking changes for each version
|
|
- Step-by-step upgrade procedure
|
|
- Rollback procedure if something goes wrong
|
|
|
|
**Docs changes needed**:
|
|
- Create upgrade guide for each major version
|
|
|
|
**Doc references**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "8.5 No Migration Guide"
|
|
|
|
---
|
|
|
|
### Issue #36: LOW - No Backup Strategy Documented
|
|
|
|
**Where found**:
|
|
- No backup procedure in deployment docs
|
|
- No automated backup in Docker Compose
|
|
|
|
**Why this is needed**:
|
|
Users don't know how to protect their data.
|
|
|
|
**Goal**:
|
|
Document and automate database backups.
|
|
|
|
**What to do**:
|
|
1. Create `Docs/BACKUP_RESTORE.md`
|
|
2. Add backup script to Docker
|
|
3. Document retention policy
|
|
4. Document restore procedure
|
|
|
|
**Docs changes needed**:
|
|
- Create backup & restore guide
|
|
|
|
**Doc references**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "10.4 No Backup Strategy"
|
|
|
|
---
|
|
|
|
### Issue #37: LOW - Missing CONTRIBUTING.md
|
|
|
|
**Where found**:
|
|
- `fail2ban-master/CONTRIBUTING.md` is from fail2ban, not BanGUI
|
|
|
|
**Why this is needed**:
|
|
Contributors don't know project guidelines.
|
|
|
|
**Goal**:
|
|
Document contribution guidelines.
|
|
|
|
**What to do**:
|
|
1. Create `CONTRIBUTING.md` with:
|
|
- Development setup
|
|
- Branch naming conventions
|
|
- PR requirements
|
|
- Code style guidelines
|
|
- Testing requirements
|
|
- PR review process
|
|
|
|
**Docs changes needed**:
|
|
- Create CONTRIBUTING.md
|
|
|
|
**Doc references**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "12.5 No CONTRIBUTING.md"
|
|
|
|
---
|
|
|
|
### Issue #38: LOW - No Test Coverage Minimum Enforced
|
|
|
|
**Where found**:
|
|
- `backend/pyproject.toml` - Coverage report generated but no minimum threshold
|
|
- CI doesn't fail on low coverage
|
|
|
|
**Why this is needed**:
|
|
Code quality can degrade as coverage drops.
|
|
|
|
**Goal**:
|
|
Enforce minimum test coverage.
|
|
|
|
**What to do**:
|
|
1. Set minimum coverage threshold in CI (e.g., 80%)
|
|
2. Fail build if coverage drops below threshold
|
|
3. Add coverage badge to README
|
|
|
|
**Docs changes needed**:
|
|
- Document testing requirements
|
|
|
|
**Doc references**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "12.6 Test Coverage Not Enforced"
|
|
|
|
---
|
|
|
|
## DOCUMENTATION GAPS (Cross-Cutting)
|
|
|
|
---
|
|
|
|
### Issue #39: DOCUMENTATION - Missing API Reference
|
|
|
|
**Files affected**: All routers
|
|
|
|
**Create**: Comprehensive API reference documenting:
|
|
- All endpoints
|
|
- Request/response formats
|
|
- Status codes
|
|
- Examples
|
|
|
|
**References**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "8.1 Missing API Documentation"
|
|
|
|
---
|
|
|
|
### Issue #40: DOCUMENTATION - Missing Deployment Best Practices
|
|
|
|
**Files affected**: `Docs/Deployment.md`, Docker configuration
|
|
|
|
**Create/Update**:
|
|
- Security best practices
|
|
- Performance tuning
|
|
- Monitoring setup
|
|
- Scaling guidelines
|
|
|
|
**References**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "6 Build & Deployment"
|
|
|
|
---
|
|
|
|
### Issue #41: DOCUMENTATION - Missing Database Schema Documentation
|
|
|
|
**Create**: Document:
|
|
- All tables and their purpose
|
|
- Relationships and constraints
|
|
- Indexes and performance notes
|
|
- Migration history
|
|
|
|
**References**:
|
|
- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "1 Database Design" |