tinyqc/docs/project-overview.md

103 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

# TinyQC - Quality Control Management System
## Executive Summary
TinyQC is a CodeIgniter 4 PHP application designed for quality control data management in laboratory settings. The system provides comprehensive tools for managing departments, tests, control parameters, daily/monthly entries, and generating QC reports. Built with a modern frontend stack (TailwindCSS, Alpine.js, DaisyUI) and SQL Server database.
**Repository Type:** Monolith (single cohesive codebase)
---
## Technology Stack
| Layer | Technology | Version |
|-------|------------|---------|
| Backend | PHP | 8.1+ |
| Backend Framework | CodeIgniter 4 | ^4.0 |
| Database | SQL Server | 2016+ |
| Frontend | TailwindCSS | Latest |
| Frontend | Alpine.js | Latest |
| UI Components | DaisyUI | Latest |
| Icons | FontAwesome | 7 |
| Testing | PHPUnit | 10.5.16 |
| Development | Composer | Latest |
---
## Architecture Classification
- **Architecture Pattern:** MVC (Model-View-Controller)
- **Application Type:** Backend Web Application
- **Project Type:** Backend (PHP/CodeIgniter 4)
- **Entry Point:** `public/index.php`
---
## Core Modules
### 1. Dictionary Management
- **Departments (Dept):** Manage department/category entries
- **Tests:** Maintain test parameters and specifications
- **Controls:** Configure control standards and limits
### 2. Data Entry
- **Daily Entry:** Record daily QC test results
- **Monthly Entry:** Aggregate monthly data and comments
### 3. Reporting
- Generate quality control reports based on date ranges, test types, and control parameters
### 4. Comments System
- Add notes and comments to results
---
## Key Features
- CRUD operations for departments, tests, and controls
- Daily and monthly quality control data recording
- Comment system for results annotation
- Report generation and analysis
- RESTful API endpoints for all modules
- Responsive UI with modal-based interactions
---
## Project Structure Overview
```
tinyqc/
├── app/
│ ├── Config/ # Configuration files
│ ├── Controllers/ # Application controllers
│ │ └── Api/ # API controllers
│ ├── Models/ # Database models
│ └── Views/ # View templates
├── public/ # Web root
├── tests/ # Unit tests
├── writable/ # Writable directory
├── _bmad/ # BMAD development artifacts
├── composer.json
└── phpunit.xml.dist
```
---
## Quick Reference
- **Documentation Root:** `/docs`
- **API Documentation:** See README.md and API endpoints section
- **Development Guide:** See [development-guide.md](./development-guide.md)
- **Architecture Details:** See [architecture.md](./architecture.md)
- **Source Tree:** See [source-tree-analysis.md](./source-tree-analysis.md)
---
## Related Documentation
- [README.md](../README.md) - Original project readme
- [AGENTS.md](../_bmad/AGENTS.md) - Development agent guidelines
- [development-guide.md](./development-guide.md) - Development setup and commands
- [architecture.md](./architecture.md) - Detailed architecture documentation
- [source-tree-analysis.md](./source-tree-analysis.md) - Annotated directory structure