Welcome to "Мала Книжка (Тарас Шевченко)", a Compose Multiplatform project designed to deliver a cohesive reading experience across Android, iOS, Web, and Desktop. This project aims to celebrate the lyrical beauty of Taras Shevchenko's poetry.
Join our testing program and provide valuable feedback:
• Programming language: Kotlin;
• Framework: Compose Multiplatform;
• SDK: Kotlin Multiplatform;
• Interface: Compose;
• Version control system: Git;
• Git Hosting Service: GitHub;
• Code Readability: code is easily readable with no unnecessary blank lines, no unused variables or methods, and no commented-out code, all variables, methods, and resource IDs are descriptively named such that another developer reading the code can easily understand their function.
• Architectural pattern: Monolith;
-
/composeApp: Contains shared code for the Compose Multiplatform applications.commonMain: Houses the common code for all targets.- Platform-specific folders (e.g.,
iosMain,androidMain): These contain code for specific platforms like CoreCrypto for iOS in theiosMainfolder.
-
/iosApp: Contains the iOS applications. Despite sharing UI code, this serves as the entry point for the iOS app and can include Swift/SwiftUI code if needed.
"Мала Книжка (Тарас Шевченко)" is a digital collection of Taras Shevchenko's works, offering a seamless reading experience with draggable dividers and elegant page transitions. It supports multiple platforms through Compose Multiplatform, sharing a unified codebase.
- Platform Support: A single codebase approach for Android, iOS, Web, and Desktop.
- Interactive UI: Draggable dividers allowing users to switch between the text and images effortlessly.
- Swipe Gestures: Smooth page transitions with horizontal drag gestures.
- Multilingual Support: Access Shevchenko's poetry in its native language.
- Authentic Scans: Includes scanned book spreads of the original "Мала Книжка" with the actual handwriting of Taras Shevchenko, offering a glimpse into the early Ukrainian language and script.
This project utilizes book spreads and texts from the website t-shevchenko.name. The site's creators kindly allow reproduction with proper referencing. * *Передрук статей із сайту заохочується за умови посилання (гіперпосилання) на наш сайт**. Many thanks for their valuable contributions.
The implementation of this project was inspired by the Get started with Compose Multiplatform – tutorial provided by JetBrains. Their resources were instrumental in guiding the development process.
To get started, ensure you have the necessary development environments for each target platform. For detailed guidelines, refer to the following:
Build and run the web application using this Gradle task:
./gradlew :composeApp:wasmJsBrowserDevelopmentRunBrowser Compatibility: The web application is specifically designed to run within Google Chrome. While other browsers may technically load the application, they may not display it correctly or support all features. For the best experience, use Google Chrome.
We welcome contributions to enhance this project. Here's how you can contribute:
- Report Issues: Encountered a bug or have a suggestion? Report issues on GitHub.
Enjoy the poetic journey! 🌟