- stack.md - Technologies and dependencies - architecture.md - System design and patterns - structure.md - Directory layout - conventions.md - Code style and patterns - testing.md - Test structure (none) - integrations.md - External services - concerns.md - Technical debt and issues - db_schema.md - Database schema and relationships Co-Authored-By: Claude <noreply@anthropic.com>
84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# Technology Stack
|
|
|
|
**Analysis Date:** 2026-04-26
|
|
|
|
## Languages
|
|
|
|
**Primary:**
|
|
- PHP 7.4+ - All application code (`index.php`, `autoload/`)
|
|
- HTML/PHP - Template files (`templates/`)
|
|
|
|
**Secondary:**
|
|
- SCSS - Stylesheet authoring (`layout/style-scss/style.scss`)
|
|
- JavaScript (ES5+) - Client-side logic embedded in templates and CDN-loaded libraries
|
|
|
|
## Runtime
|
|
|
|
**Environment:**
|
|
- PHP 7.4+ on Apache (shared hosting)
|
|
- MySQL database (`srv81099_brzez_ticket`)
|
|
- Timezone: Europe/Warsaw
|
|
|
|
**Package Manager:**
|
|
- None — no Composer, no npm
|
|
- All dependencies vendored in `libraries/`
|
|
|
|
## Frameworks
|
|
|
|
**Core:**
|
|
- None — custom MVC built from scratch
|
|
|
|
**Frontend:**
|
|
- Bootstrap 5.2 — Responsive layout and components (CDN)
|
|
- jQuery 3.6 — DOM manipulation and AJAX (CDN)
|
|
- Font Awesome 6.1 — Icons (CDN)
|
|
- Flatpickr — Date picker for ticket date selection (CDN)
|
|
- DataTables — Admin order list pagination/sorting (CDN)
|
|
- html5-qrcode — Browser QR code scanner for on-site validation (CDN)
|
|
|
|
**Build/Dev:**
|
|
- Live Sass Compiler (VS Code extension) — SCSS → CSS compilation
|
|
- FTP sync via ftp-kr VS Code extension — Deployment
|
|
|
|
## Key Dependencies
|
|
|
|
**Critical:**
|
|
- Medoo — MySQL query builder (`libraries/medoo/medoo.php` — referenced in code, may be missing from repo)
|
|
- RedBeanPHP — ORM used in cron jobs (`libraries/rb.php`, 570KB single file)
|
|
- PHPMailer — SMTP email delivery (`libraries/phpmailer/class.phpmailer.php`, `class.smtp.php`)
|
|
- phpqrcode — QR code generation for tickets (`libraries/phpqrcode/qrlib.php`)
|
|
|
|
**Infrastructure:**
|
|
- PDO — Database access layer (used internally by Medoo)
|
|
- cURL — HTTP calls to Przelewy24 and fakturowo.pl APIs
|
|
|
|
## Configuration
|
|
|
|
**Environment:**
|
|
- Single file: `config.php` — contains ALL configuration
|
|
- Database credentials, SMTP settings, ticket pricing, payment gateway keys, admin password
|
|
- No `.env` files — credentials hardcoded (security concern documented in concerns.md)
|
|
|
|
**Build:**
|
|
- SCSS config in first-line comment of `layout/style-scss/style.scss`
|
|
- No build config files (vite, webpack, etc.)
|
|
|
|
## Platform Requirements
|
|
|
|
**Development:**
|
|
- Windows (VS Code with Live Sass Compiler + ftp-kr extensions)
|
|
- PHP 7.4+ locally or via FTP-direct editing
|
|
- MySQL access for schema changes
|
|
|
|
**Production:**
|
|
- Apache + mod_rewrite (shared hosting via seohost.pl)
|
|
- PHP 7.4+
|
|
- MySQL
|
|
- Outbound SMTP (port 25 to h53.seohost.pl)
|
|
- Outbound HTTPS for Przelewy24 and fakturowo.pl
|
|
|
|
---
|
|
|
|
*Stack analysis: 2026-04-26*
|
|
*Update after major dependency changes*
|