Skip to content

Instantly share code, notes, and snippets.

View binayshaw7777's full-sized avatar
🎯
Chasing Goals

Binay Shaw binayshaw7777

🎯
Chasing Goals
View GitHub Profile
@binayshaw7777
binayshaw7777 / drawing_topics.json
Created August 29, 2025 14:34
This is just a temporary workaround to get topics to draw response
[
{
"date": "2025-08-29",
"topic": "Draw a shoe"
},
{
"date": "2025-08-30",
"topic": "Draw a desk lamp"
},
{
@binayshaw7777
binayshaw7777 / relationship_quizes.json
Last active August 28, 2025 17:42
This is just a temporary workaround to get relationship quizes response
[
{
"date": "2025-08-28",
"question": "What is one small thing I did recently that made you feel appreciated?"
},
{
"date": "2025-08-29",
"question": "What is one small thing I did recently that made you feel appreciated?"
},
{
@binayshaw7777
binayshaw7777 / MainRoomCMP.kt
Created May 8, 2024 16:09
SamplePreviewCode for Room CMP/KMP
// Sample Code
@Composable
fun MainContent(userDao: UserDao) {
val userList = remember { mutableStateListOf<User>() }
LaunchedEffect(Unit) {
userList.value = userDao.getAllUsers()
}
@binayshaw7777
binayshaw7777 / main.kt
Created May 8, 2024 16:08
Desktop Database for Room KMP/CMP
// Path: composeApp/src/desktopMain/kotlin/main.kt
fun main() = application {
Window(
onCloseRequest = ::exitApplication,
title = "projName",
) {
val database = remember { getDatabaseBuilder() }
App(database)
}
}
@binayshaw7777
binayshaw7777 / DesktopUserDatabase.kt
Last active June 21, 2024 15:23
Desktop Database builder for Room KMP/CMP
// composeApp/src/desktopMain/kotlin/database/Database.kt
import androidx.room.Room
import androidx.room.RoomDatabase
import data.database.DictionaryDatabase
import java.io.File
fun getDatabaseBuilder(): RoomDatabase.Builder<DictionaryDatabase> {
val dbFile = File(System.getProperty("java.io.tmpdir"), "user.db")
return Room.databaseBuilder<DictionaryDatabase>(
name = dbFile.absolutePath,
@binayshaw7777
binayshaw7777 / MainViewController.kt
Created May 8, 2024 16:07
iOS Database for Room KMP/CMP
// Path: composeApp/src/iosMain/kotlin/MainViewController.kt
fun MainViewController() = ComposeUIViewController {
val database = remember { getUserDatabase() }
App(database)
}
@binayshaw7777
binayshaw7777 / iOSDatabaseBuilder.kt
Last active August 20, 2024 09:01
iOS Database builder for Room KMP/CMP
// Save at: composeApp/src/iosMain/kotlin/database/Database.kt
import androidx.room.Room
import androidx.room.RoomDatabase
import data.database.UserDatabase
import data.database.instantiateImpl // This shall show error, ignore it
import platform.Foundation.NSHomeDirectory // This shall too in Windows.
fun getUserDatabase(): RoomDatabase.Builder<UserDatabase> {
val dbFile = NSHomeDirectory() + "/user.db"
return Room.databaseBuilder<UserDatabase>(
@binayshaw7777
binayshaw7777 / MainActivity.kt
Created May 8, 2024 16:05
Passing Android Database builder for Room KMP/CMP
// Path: composeApp/src/androidMain/kotlin/com/yourOrg/projName/MainActivity.kt
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val database = getUserDatabase(applicationContext)
setContent {
App(database)
}
}
@binayshaw7777
binayshaw7777 / AndroidDatabaseBuilder.kt
Created May 8, 2024 16:05
Android Database builder for Room KMP/CMP
// Save at: composeApp/src/androidMain/kotlin/com/yourOrg/projName/database/Database.kt
import android.content.Context
import androidx.room.Room
import androidx.room.RoomDatabase
import data.database.UserDatabase
fun getUserDatabase(context: Context): RoomDatabase.Builder<UserDatabase> {
val dbFile = context.getDatabasePath("user.db")
return Room.databaseBuilder<UserDatabase>(
context = context.applicationContext,
@binayshaw7777
binayshaw7777 / App.kt
Last active May 9, 2024 17:18
CommonMain App code
// This is your entry point for your CMP App
@Composable
fun App(
databaseBuilder: RoomDatabase.Builder<UserDatabase>
) {
MaterialTheme {
// Building the database
val database = remember { databaseBuilder.build() }