All Projects → c0de-wizard → tv-maniac

c0de-wizard / tv-maniac

Licence: Apache-2.0 license
Tv-Maniac is a Multiplatform app (Android & iOS) for viewing TV Shows from TMDB.

Programming Languages

kotlin
9241 projects
swift
15916 projects

Projects that are alternatives of or similar to tv-maniac

D-KMP-sample
D-KMP Architecture official sample: it uses a shared KMP ViewModel and Navigation for Compose and SwiftUI apps.
Stars: ✭ 636 (+1056.36%)
Mutual labels:  kmp, kotlin-multiplatform, swiftui, jetpack-compose, ktor-client, kmm
kmm
Rick & Morty Kotlin Multiplatform Mobile: Ktor, Sqldelight, Koin, Flow, MVI, SwiftUI, Compose
Stars: ✭ 52 (-5.45%)
Mutual labels:  ktor, kotlin-multiplatform, swiftui, jetpack-compose, kmm
KMP-NativeCoroutines
Library to use Kotlin Coroutines from Swift code in KMP apps
Stars: ✭ 502 (+812.73%)
Mutual labels:  kotlin-coroutines, kmp, kotlin-multiplatform, kmm
StarWars
Minimal GraphQL based Jetpack Compose, Wear Compose and SwiftUI Kotlin Multiplatform sample (using StarWars endpoint - https://graphql.org/swapi-graphql)
Stars: ✭ 165 (+200%)
Mutual labels:  kotlin-multiplatform, swiftui, jetpack-compose, kmm
ToDometer Multiplatform
WIP Kotlin Multiplatform project: A meter to-do list built with Android Jetpack, Compose UI Multiplatform, Wear Compose, SQLDelight, Koin Multiplatform, SwiftUI, Ktor Server / Client, Exposed...
Stars: ✭ 145 (+163.64%)
Mutual labels:  ktor, kmp, kotlin-multiplatform, jetpack-compose
kinsight-multiplatform
Kotlin Multiplatform Concept - iOS, MacOS, WatchOS (SwiftUI), Android (phone and Wear OS), JVM Web Server - Alpha Capture
Stars: ✭ 38 (-30.91%)
Mutual labels:  ktor, kotlin-multiplatform, swiftui, jetpack-compose
Lastik
Kotlin Multiplatform + Jetpack Compose pet project, based on www.last.fm/api (in development)
Stars: ✭ 37 (-32.73%)
Mutual labels:  ktor, kotlin-multiplatform, jetpack-compose, kmm
Notflix
Kotlin Multiplatform playground
Stars: ✭ 272 (+394.55%)
Mutual labels:  kotlin-coroutines, kotlin-multiplatform, jetpack-compose, ktor-client
TMDbMultiplatform
Step-by-step guide on Kotlin Multiplatform
Stars: ✭ 86 (+56.36%)
Mutual labels:  kmp, kotlin-multiplatform, kmm
Scout
Scout is a kotlin multiplatform application that allows users to search and save games to lists to be browsed later.
Stars: ✭ 28 (-49.09%)
Mutual labels:  ktor, kotlin-multiplatform, jetpack-compose
kmm-production-sample
This is an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile. It's a simple RSS reader, and you can download it from the App Store and Google Play. It's been designed to demonstrate how KMM can be used in real production projects.
Stars: ✭ 1,476 (+2583.64%)
Mutual labels:  kotlin-multiplatform, jetpack-compose, kmm
ThinkRchive
An app showing all details for various Lenovo Thinkpad models. Made to try out Jepack Compose for Android.
Stars: ✭ 84 (+52.73%)
Mutual labels:  ktor, jetpack-compose, ktor-client
MultiplatformPlayground
Kotlin Multiplatform project in Jetpack Compose & SwiftUI with shared ViewModel layer and File upload
Stars: ✭ 72 (+30.91%)
Mutual labels:  ktor, kotlin-multiplatform, swiftui
tmdb-api
This Kotlin Multiplatform library is for accessing the TMDB API to get movie and TV show content. Using for Android, iOS, and JS projects.
Stars: ✭ 31 (-43.64%)
Mutual labels:  ktor, kotlin-multiplatform, ktor-client
Delish
Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI clean architecture.
Stars: ✭ 356 (+547.27%)
Mutual labels:  kotlin-coroutines, mvi-clean-architecture, jetpack-compose
chip-8
Jetpack Compose and SwiftUI based Kotlin Multiplatform fork of https://github.com/cbeust/chip-8 (Chip-8 Emulator)
Stars: ✭ 36 (-34.55%)
Mutual labels:  kotlin-multiplatform, swiftui, jetpack-compose
DagashiApp
Unofficial Android Dagashi Android/iOS app.
Stars: ✭ 32 (-41.82%)
Mutual labels:  kotlin-multiplatform, swiftui, jetpack-compose
RiRi
An optical character recognition mobile application built using Kotlin Multiplatform Mobile and Azure Cognitive Services
Stars: ✭ 31 (-43.64%)
Mutual labels:  kotlin-coroutines, ktor, kmm
serialization-parcelable
Android Parcelable support for the Kotlinx Serialization library.
Stars: ✭ 53 (-3.64%)
Mutual labels:  kotlin-serialization, kotlin-multiplatform
LinuxCommandLibrary
1M+ downloads Linux reference app with basics, tips and formatted man pages
Stars: ✭ 333 (+505.45%)
Mutual labels:  kotlin-multiplatform, jetpack-compose

TvManiac

Check android ios

TvManiac is a Multiplatform app (Android & iOS) for viewing TV Shows information from TMDB. The aim of this project is do demonstrate KMM development capabilities.

You can Install and test latest android app from below 👇

TvManiac Debug

🚧 Under Heavy Development 🚧

This is my playground for learning Kotlin Multiplatform. With that said, I'm sure it's filled bugs are crawling everywhere, and I'm probably doing a couple of things wrong. So a lot is changing, but that shouldn't stop you from checking it out.

Android Screenshots

Home Screen Light

Home Screen Light

Home Screen Dark

Show Details Dark

🔆 iOS Screenshots

Home Screen Light

Home Screen Light

Home Screen Dark

Show Details Dark

🖥 Project Setup & Environment

Api Keys

You need to add API keys from Trakt.tv & TMDb. To do so:

  • Create local.properties in root dir
  • Add the following
    TMDB_API_URL=https://api.themoviedb.org/3/
    TMDB_API_KEY=ENTER_URI
    TRAKT_CLIENT_ID=ENTER_KEY
    TRAKT_CLIENT_SECRET=ENTER_KEY
    TRAKT_REDIRECT_URI=ENTER_KEY
    
  • Run ./gradlew generateBuildKonfig

Android

Opening iOS Project

  • Navigate to ios directory & open .xcworkspace & not .xcodeproj

Genereating Swift Package Locally

In case you make changes to the shared module and want to test out the changes, you can generate the swift package locally by:

  1. Execute ./gradle createSwiftPackage. This will generate a swift package outside the root directory.
  2. Add the generated package in XCode.

Project Structure & Architecture

I wrote an article, Going Modular — The Kotlin Multiplatform Way detailing the modularization process and thinking behind the structure of the shared module.

Libraries Used

Android

Kmp - Common

iOS

Roadmap

Android

  • Implement Watchlist
  • Add More screen. Shows GridView
  • Recommended Shows
  • Implement pagination.
  • Add Settings panel.
    • Dynamic theme change.
  • Add Seasons UI
  • Implement trakt auth & sign in
  • UI State improvement.
  • Add Episode detail screen
  • Add Watchlist
  • Implement Search

iOS

  • Add HomeScreen: Tabs & Empty UI
  • Implement Discover UI
  • Show Detail Screen
  • Implement trakt auth & sign in
  • Add Seasons UI
  • Implement Search UI
  • Implement Watchlist UI
  • Implement Load more

Shared

  • Use SQLDelight extensions to consume queries as Flow
  • Refactor interactor implementation.
  • Use koin for injection
  • Modularize shared module
  • Try out Flow-Redux
  • Improve error handling, add retry.
  • Add test cases.
  • Fix paging
  • Better MVI implementation
  • Observe Internet connection
    • Android
    • iOS

References

License

Copyright 2022 Thomas Kioko

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].