Egzaminy-ULC is an iOS application designed to help users prepare for theoretical aviation exams conducted by the Polish Civil Aviation Authority (Urząd Lotnictwa Cywilnego - ULC).
📚 Exam Categories:
- 🛩️ PPL(A)
- 🚁 PPL(H)
- 🪂 PPL(B)
- 🚁 PPL(H) ENG
- 🪁 SPL
This application was built with the goal of making exam preparation more efficient by offering an interactive platform. The questions were sourced from ULC's official PDFs and converted into JSON format using a Python script.
🎨 Inspired by "The Ugly Sketchbook" by Tawnie Jeanne Studios
This app was created as a learning project. While it has bugs and some imperfect code, it reflects the philosophy that it's better to create and improve something imperfect than to do nothing.
Note: Some features are still in development and are not yet available in the public version of this project. The application code is currently in a private repository.
- 🎯 Comprehensive Question Bank:
Access a wide range of questions tailored to ULC's requirements. (In-progress) - 📝 Exam Simulation:
Practice under real exam-like conditions. (In-progress) - 📊 Progress Tracking:
Monitor your performance to identify strengths and areas for improvement. (In-progress) - 🛠️ Feature Flags:
Controlled feature rollouts powered by LaunchDarkly.
🚨 Important Notice 🚨
This project has been moved to a private repository for further development and maintenance.
This project includes the following supporting components:
-
🖥️ macOS Application:
A lightweight macOS application was created to manage questions, providing an easy way to add, update, or delete entries in the JSON dataset. (Not yet released) -
🌐 Backend API:
A backend built with Vapor is hosted on Fly.io. It serves as the central hub for syncing question data and managing updates. (Not yet released)
- 🦸♂️ Swift 6
- 🎨 SwiftUI
- 🧩 TCA (The Composable Architecture)
- 🚀 Swift Concurrency
- 🏗️ Fully Modularized Project Architecture
- The project template is from SwiftyStack and app is inspired Point-Free's isowords.
- Inject (v1.5.2)
- Difference (v1.0.2)
- Swift Snapshot Testing (v1.12.0)
- Swift Composable Architecture (v1.15.1)
- Swift Dependencies (v1.1.0)
- SwiftLint Plugins (v0.57.0)
- LaunchDarkly iOS Client SDK (v9.12.0)
This project was developed while learning from courses and resources provided by:
- 🌐 SwiftyStack
- 🧠 PointFree
Their teachings significantly influenced the architectural decisions and implementation strategies used in this app.
Here’s a preview of the app in action:
The home screen provides easy navigation through exam categories.
The question view offers a clean and user-friendly interface for answering questions.