Skip to content

Instantly share code, notes, and snippets.

View arulwastaken's full-sized avatar
🎯
Focusing

Arul arulwastaken

🎯
Focusing
  • Tamilnadu
View GitHub Profile
@arulwastaken
arulwastaken / HttpClient.ios.kt
Created July 7, 2025 06:14
iosMain/Common/HttpClient.ios.kt
package com.codingwitharul.bookmyslot.common
import io.ktor.client.HttpClient
import io.ktor.client.HttpClientConfig
import io.ktor.client.engine.darwin.Darwin
import io.ktor.client.plugins.HttpTimeout
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
import io.ktor.client.plugins.defaultRequest
import io.ktor.client.request.header
import io.ktor.serialization.kotlinx.json.json
@arulwastaken
arulwastaken / HttpClient.android.kt
Created July 7, 2025 06:12
androidMain/common/HttpClient.android.kt
package com.codingwitharul.bookmyslot.common
import io.ktor.client.HttpClient
import io.ktor.client.HttpClientConfig
import io.ktor.client.engine.okhttp.OkHttp
import io.ktor.client.plugins.HttpTimeout
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
import io.ktor.client.plugins.defaultRequest
import io.ktor.client.request.header
import io.ktor.serialization.kotlinx.json.json
@arulwastaken
arulwastaken / HttpClient.kt
Last active July 7, 2025 06:10
common/HttpClient.kt
package com.codingwitharul.bookmyslot.common
import io.ktor.client.HttpClient
import io.ktor.client.HttpClientConfig
expect fun httpClient(config: HttpClientConfig<*>.() -> Unit = {}): HttpClient
package com.codingwitharul.bookmyslot.data.networking
import com.codingwitharul.bookmyslot.common.httpClient
import com.codingwitharul.bookmyslot.data.db.DatabaseHelper
import com.codingwitharul.bookmyslot.db.UserInfo
import com.codingwitharul.bookmyslot.data.networking.models.ApiResponse
import io.github.aakira.napier.Napier
import io.ktor.client.HttpClient
import io.ktor.client.call.body
import io.ktor.client.plugins.ClientRequestException
package com.codingwitharul.bookmyslot.data.networking
internal object Constants {
const val HOST = "https://642d737e66a20ec9ce9de798.mockapi.io/api/v1/"
}
internal object EndPoints {
const val Auth = "auth"
}
@arulwastaken
arulwastaken / ApiResponse.kt
Last active July 7, 2025 05:35
ApiResponse.kt
package com.codingwitharul.bookmyslot.data.networking.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
sealed class ApiResponse<out T, out E> {
/**
* Represents successful network responses (2xx).
*/
shared/
├── commonMain
| /common/ your shared code + Ktor setup
| └── data
| ├── db
| └── networking
| └── models
| | > ApiResponse.kt
| ├── ApiClientHelper.kt
| └── Constants.kt
import 'package:myapp/src/values/colors.dart';
import 'package:flutter/material.dart';
class RatingBar extends StatefulWidget {
final double rating;
final bool makeRating;
final double? size;
final Function(double rating)? makeRatingCallback;
class MvvmRepo {
Future<String> getWelcomeText() {
//
// from storage or Network
//
return Future.value("Puppy");
}
//... other methods
class MvvmViewModel with ChangeNotifier {
String welcomeText = "";
final MvvmRepo repo;
MvvmViewModel(this.repo) {
loadWelcomeText();
}