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>
This commit is contained in:
83
.paul/codebase/stack.md
Normal file
83
.paul/codebase/stack.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 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*
|
||||
Reference in New Issue
Block a user