Add README documentation and Claude changelog
- Fill README.md with comprehensive project documentation - Add docs/changelog-claude.md for tracking Claude Code changes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5ec64e6a13
commit
39bdd49fd0
121
README.md
121
README.md
@ -0,0 +1,121 @@
|
|||||||
|
# BackupChecks
|
||||||
|
|
||||||
|
A backup monitoring and compliance application designed for Managed Service Providers (MSPs) and IT departments.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### Mail Ingestion & Parsing
|
||||||
|
- Automated email import from Microsoft Graph API (Office 365)
|
||||||
|
- Supports 11 backup software platforms:
|
||||||
|
- Veeam (including SOBR capacity monitoring)
|
||||||
|
- Synology
|
||||||
|
- QNAP
|
||||||
|
- Nakivo
|
||||||
|
- Syncovery
|
||||||
|
- Boxafe
|
||||||
|
- R-Drive
|
||||||
|
- 3CX
|
||||||
|
- NTFS Auditing
|
||||||
|
- And more
|
||||||
|
- Intelligent email parsing extracts backup metadata
|
||||||
|
- Raw EML storage for debugging with configurable retention
|
||||||
|
|
||||||
|
### Backup Job Tracking
|
||||||
|
- Dashboard with daily backup job status summaries
|
||||||
|
- Expected vs. actual job runs based on schedules
|
||||||
|
- Missed backup detection
|
||||||
|
- Status tracking: Success, Warning, Error, Missed
|
||||||
|
- Timezone-aware calculations (defaults to Europe/Amsterdam)
|
||||||
|
|
||||||
|
### Run Checks & Review Workflow
|
||||||
|
- Manual review interface for backup failures
|
||||||
|
- Mark runs as "reviewed"
|
||||||
|
- Approval workflow for backup email processing
|
||||||
|
- Storage capacity monitoring
|
||||||
|
- Autotask PSA ticket integration
|
||||||
|
|
||||||
|
### Override Rules
|
||||||
|
- Exception rules at global or job-level
|
||||||
|
- Matching criteria: status, error message patterns
|
||||||
|
- Validity windows for temporary overrides
|
||||||
|
|
||||||
|
### Multi-Customer Management
|
||||||
|
- Organize jobs by customer
|
||||||
|
- Autotask company mapping
|
||||||
|
- Customer-scoped reporting and permissions
|
||||||
|
|
||||||
|
### Tickets & Remarks
|
||||||
|
- Internal ticket system for backup issues
|
||||||
|
- Automatic linking to affected job runs
|
||||||
|
- Scope-based ticket resolution
|
||||||
|
- Feedback/feature request board
|
||||||
|
|
||||||
|
### Reporting & Analytics
|
||||||
|
- Snapshot-based reporting with configurable periods
|
||||||
|
- Historical success rates and trend analysis
|
||||||
|
- CSV export functionality
|
||||||
|
|
||||||
|
### Autotask Integration
|
||||||
|
- Create PSA tickets from failed backup runs
|
||||||
|
- Link internal tickets to Autotask
|
||||||
|
- Deep links back to BackupChecks
|
||||||
|
|
||||||
|
### User Management
|
||||||
|
- Role-based access control (admin, viewer, custom roles)
|
||||||
|
- Theme preferences (light/dark/auto)
|
||||||
|
- In-app news/announcements
|
||||||
|
|
||||||
|
## Technology Stack
|
||||||
|
|
||||||
|
**Backend:**
|
||||||
|
- Flask 3.0.3 (Python)
|
||||||
|
- SQLAlchemy with PostgreSQL 16
|
||||||
|
- Flask-Login for authentication
|
||||||
|
- Gunicorn server
|
||||||
|
|
||||||
|
**Frontend:**
|
||||||
|
- Jinja2 templates (server-side rendering)
|
||||||
|
- Bootstrap-based responsive UI
|
||||||
|
- JavaScript/AJAX for dynamic interactions
|
||||||
|
|
||||||
|
**Infrastructure:**
|
||||||
|
- Docker containerized
|
||||||
|
- PostgreSQL database
|
||||||
|
- Adminer for database management
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
backupchecks/
|
||||||
|
├── containers/backupchecks/
|
||||||
|
│ ├── Dockerfile
|
||||||
|
│ ├── requirements.txt
|
||||||
|
│ └── src/
|
||||||
|
│ ├── backend/app/
|
||||||
|
│ │ ├── main.py # Entry point
|
||||||
|
│ │ ├── models.py # Database models
|
||||||
|
│ │ ├── parsers/ # Backup software parsers
|
||||||
|
│ │ ├── integrations/ # Autotask integration
|
||||||
|
│ │ └── main/ # Route handlers
|
||||||
|
│ ├── templates/ # Jinja2 templates
|
||||||
|
│ └── static/ # CSS, JS, assets
|
||||||
|
├── deploy/
|
||||||
|
│ └── backupchecks-stack.yml # Docker Compose
|
||||||
|
└── docs/ # Documentation
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
The application runs as a Docker stack in Portainer.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Key settings are managed via the web interface under Settings:
|
||||||
|
- Mail import configuration (Microsoft Graph API)
|
||||||
|
- Autotask integration credentials
|
||||||
|
- Timezone settings
|
||||||
|
- User management
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See [LICENSE](LICENSE) file.
|
||||||
13
docs/changelog-claude.md
Normal file
13
docs/changelog-claude.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Changelog - Claude Code
|
||||||
|
|
||||||
|
This file documents all changes made to this project via Claude Code.
|
||||||
|
|
||||||
|
## [2026-02-04]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- `docs/changelog-claude.md` - Changelog file for tracking changes made via Claude Code
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Converted changelog to English (all project documentation must be in English)
|
||||||
|
- Documented branch naming convention and build workflow in Claude memory
|
||||||
|
- Filled README.md with comprehensive project documentation based on source code analysis
|
||||||
Loading…
Reference in New Issue
Block a user