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

2.5 KiB

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