/Knowtify

📚 Dictionary app build using Compose Multiplatform

Primary LanguageKotlinApache License 2.0Apache-2.0


Knowtify - A Compose Multiplatform Dictionary App

This project is a powerful and versatile dictionary app built using Compose, Ktor, and Room. It allows you to search for word definitions seamlessly across desktops (Windows, macOS), Android, and iOS.

API Hits GitHub code size in bytes

Key Features:

  • Multiplatform Support: Enjoy a consistent dictionary experience on various devices, including desktops, Android, and iOS.
  • Free Dictionary API Integration: Access comprehensive definitions from a reputable API.
  • Ktor for Network Requests: Make efficient and reliable API calls using Ktor's modern networking library.
  • Room Database for Offline Storage: Save search history and definitions locally for offline access.
  • Beautiful Compose UI: Create an intuitive and visually appealing user interface with Compose.

Libraries Used:

Architecture:

image

Getting Started:

Prerequisites:

  • Android Studio with Compose plugins installed.
  • Basic knowledge of Kotlin, Compose, Ktor, AndroidX libs like and Room, Navigation and etc.

Clone the Project:

git clone https://github.com/binayshaw7777/Knowtify.git
  • Running the App: Open the project in your preferred IDE. Build and run the project for your target platform (Android, Desktop, or iOS) following the specific instructions for your IDE and platform.

Understanding the Code Structure:

  • commonMain: Contains platform-agnostic code, including data models, network logic, and core business logic.
  • androidMain: Specific code for the Android platform, such as UI components using Compose.
  • desktopMain: Specific code for desktop platforms (Windows and macOS), likely using Compose for desktop as well.
  • iosMain: Specific code for the iOS platform, potentially using Compose for iOS (still under development).

Technologies Used:

  • Compose: A cutting-edge UI framework for building modern, declarative UIs.
  • Ktor: A lightweight, asynchronous networking library for making API calls.
  • Room: An SQLite wrapper for local data persistence with an intuitive API.
  • Kotlin: A concise and expressive language for developing Android and other cross-platform applications.

Screenshot:

Banner

Recording:

1st with optm

License

Copyright 2024 Binay Shaw

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

  http://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.