Skip to content

unchil/GIS_Memo_MultiPlatform

Repository files navigation

GISMemo Multiplatform

A Kotlin Multiplatform sample application that allows you to save memos with GIS (Geographic Information System) information, photos, videos, and weather data.

Platform Android, iOS
UI Jetpack Compose (Android), SwiftUI (iOS)
Architecture Kotlin Multiplatform Mobile (KMM)
Database SQLDelight
Networking Ktor
Image Loading Coil 3

Features

  • Geo-tagged Memos: Create memos and associate them with a specific geographic location.
  • Interactive Map: View all your memos as markers on a Google Map.
  • Rich Media Attachments: Enhance your memos by attaching photos and videos captured directly within the app.
  • Speech-to-Text: Conveniently dictate your memos using the integrated speech recognition feature.
  • Automatic Weather Data: The app automatically fetches and attaches the current weather information to your memo based on its location.
  • Paginated Memo List: Efficiently browse through your memos with a paginated list.
  • Multi-language Support: The UI is available in multiple languages.

Video

Write Detail Map Setting
Alt text Alt text Alt text Alt text

Screen Shot

Portrait Landscape
List Alt text It is a list screen of created memos, and features such as search, share, delete, and view details are provided.Alt text
Write Alt text This screen is for writing notes. It provides functions such as screenshots of pictures drawn on maps, texts using voice recognition, photos, and videos, and it is possible to set security, markers, and hashtags.Alt text
Map Alt text The location of the memo with the marker set is displayed.If you touch the information window of the marker, a brief screen of the memo is displayed, and if you touch the screen, you move to the detailed view screen. Alt text
Search Alt text Memos can be searched by title, creation date, hashtag, security, and marker conditions.Alt text
Detail Alt text This is the screen that appears when you tap an item in the list or tap an item in the entire map. Can check the detailed information of the written memo.Alt text
Setting Alt text This GISMEMO can set the following functions. Haptic, night mode, dynamic color, delete all notes, language selection (Korean, English, French, Portuguese, Spanish, Chinese)Alt text

Technology Stack

This project leverages a modern technology stack for building multiplatform applications.

Shared Module (/shared)

Android (/androidApp)

iOS (/iosApp)

  • SwiftUI: For the user interface.
  • Utilizes the shared module for business logic, data storage, and networking.

How to Build

To build and run this project, you will need to provide your own API keys for Google Maps and a weather service (like OpenWeatherMap).

  1. Create a local.properties file in the root directory of the project.

  2. Add your API keys to this file, like so:

    # Google Maps API Key for Android
    MAPS_API_KEY="YOUR_GOOGLE_MAPS_API_KEY"
    
    # OpenWeatherMap API Key
    OPENWEATHER_API_KEY="YOUR_OPENWEATHER_API_KEY"
  3. Build the project using Android Studio or from the command line.

About

Kotlin MultiPlatform Compose SqlDelight Ktor Paging Flow Coil3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •