Files
bilety.brzezovka.pl/.paul/codebase/stack.md
Jacek Pyziak 5bbec72b59 docs: map existing codebase
- 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>
2026-04-26 22:15:02 +02:00

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*