Kotlin Multiplatform Japanese Dictionary App.
🚧 This is still a Work in Progress. Wishlist of features are listed up in the Projects.
This project has the Kotlin Native memory model enabled (check gradle.properties
)
kotlin.native.binary.memoryModel=experimental
Everything except from the UI layer (i.e., the domain and data layers) have been implemented in the :shared
module.
- Kotlin
1.6.10
- Coroutines
- Koin
- SQLDelight
- KMP-NativeCoroutines
0.11.4-new-mm
- Firebase Cloud Storage (for storing the preloaded database file)
- neumorphic (Neumorphism in SwiftUI)
- compose-neumorphism Used as a reference for custom implementation of Neumorphism in Jetpack Compose
- hackingswift for anything SwiftUI
- droidkaigi 2021 App for the Unidirectional ViewModel implementation
- yamagoya/jconj for the verb adjective conjugation mapping
shared
: Any changes done outside theiosApp
andandroidApp
modulesandroid
: Changes made to theandroidApp
moduleios
: Changes made to theiosApp
module
Preloaded .db
file has been generated using the create_database.py
script. The following data sources have been parsed
The main data source for the dictionary and contains roughly over 170,000 entries with informations like meaning, kana-reading, sentence samples, particles of speeches etc.
This includes Kanji related informations like reading, stroke count etc.
This is a database of sentences mapped in various languages (primarily JP-EN). Multiple lanugages could have been chosen but instead went with the English Japanese Sentence pairs dataset.
This contains a roughly comprehensive list of vocabulary divided on the basis of JLPT level.
CCopyright 2022 Suraj Sau
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.