Hello everyone,
Today, I will introduce you to the K-Droid Seforim project.
The primary goal of the project is to utilize the Sefaria database to develop:
The website will be fully static, making it easy to host on GitHub Pages for a simple and accessible solution.
To learn more about Sefaria, you can visit the following links:
The ultimate goal is to harness the full potential of Kotlin Multiplatform (KMP) to provide an optimal application regardless of the platform used. We will start by developing the PC version.
The program will be written entirely in Kotlin. Here are the technologies and tools that will be used:
We will use a modular architecture based on Clean Architecture (CA) combined with Model-View-ViewModel (MVVM) in the KMP part to structure and organize the code effectively and maintainably.
For dependency injection, we will use Koin, and for network requests, Ktor will be our primary choice.
For the user interface:
In the future, when the Compose Fluent UI project is completed, it would be interesting to consider adapting the desktop version of the user interface to Fluent and allow the user to choose their preferred theme. Currently, this project is not stable and encounters serious performance issues, but these improvements should come gradually.
The project will be divided into six major steps:
Here are the main features the application should include:
Link sharing: Users should be able to share a link to a specific book that redirects to the web version.
Update notifications: The application will notify the user if an update is available for the app or the database.
Complete offline browsing (Except web)
Structured display of comments
Advanced search:
Annotations and highlights
Tab management
Favorite saving
Numerical calculations (Gematria)
Measurement conversions
Predefined structured modes:
Dark mode
Jewish calendar features
Intelligent Siddur
Option to print texts and annotations
Recently opened books
Automatic startup at system launch (Desktop)
Ability to minimize the app to the System Tray (Desktop)
That's all for today! Stay tuned for the next post, where I will detail the creation of the database.