
miraskischool.cz
Official responsive website for a local ski school. Designed to be user-friendly for booking lessons and finding information, featuring a clean modern UI and integration with a booking system.
My Role & Activities
- Full-stack development
- UI/UX Design
- Deployment
Technologies
Server-side language commonly used for web applications and APIs.
Widely used relational database for structured application data.
JavaScript runtime for backend services, tooling, and automation.
A strongly typed language built on JavaScript with better tooling and maintainability.
Popular CSS framework for responsive, mobile-first interfaces.
Official icon set for Bootstrap and general web use.
JavaScript library simplifying DOM manipulation and event handling.
Popular icon toolkit for web interfaces.
Lightweight image overlay script for galleries.
API access to OpenAI language and multimodal models.
End-to-end testing framework for modern browsers and applications.
Lightweight PHP database layer with a practical query API.
Full-featured library for sending email from PHP applications.
Debugger and error monitoring tool for PHP applications.
Architecture and delivery context
Problem
A local ski school needed an updated, mobile-friendly online presence that could handle bookings, present the school's offer in multiple languages, and let the owner manage content without a developer in the loop.
Approach
miraskischool.cz is a server-rendered PHP site built around a small custom backend. The focus is on simplicity, speed, and a low-overhead admin panel that lets the owner update content directly.
Stack
- PHP with the Nette framework (autoloading), Dibi for database access, PHPMailer for outgoing email
- Bootstrap and jQuery on the frontend, Lightbox2 for galleries, Bootstrap Icons + Font Awesome
- MySQL for content storage
- esbuild for asset minification and versioning
- Tracy for error monitoring in development
- Playwright for end-to-end tests
Key Features
- Five-language site (Czech, English, German, Polish, Dutch) with URL-first language detection
- AI-powered translation tooling: a custom pipeline calls the OpenAI API to fill missing translations, accessible from the admin panel with dry-run testing
- Admin panel with content editing through CKEditor and automatic translation key generation
- Booking system integration
Deployment
Automated deploy via Bitbucket Pipelines on push to main.