KVMapper: A Key-Value Mapper app for MacOS, created with Kotlin and Compose Desktop

Overview

KVMapper



KVMapper is an application to convert key-value pairs from one format to another.

About

This app was purely written in Kotlin and compiled for macOS. The UI was created with Compose Desktop and styled to be similar to the system design of macOS 12.

A list of key-value pairs can be pasted into the input field and then converted to a different format by specifying an input and output pattern. The pattern can also be saved to reuse them.

Tech

  • Coroutines + StateFlow (MVI pattern with statemachine)
  • Turbine (Unit tests)
  • Compose Desktop (UI)
  • Kotlin File API (Persistence)

Download

Version 1.0

Since this is a hobby project, the macOS app is not signed with a developer ID from Apple. When opening the app, there might pop up a window saying the app is damaged and can't be opened. If you encounter this issue, then you can manually grant executable rights with the following terminal command and try again:

sudo chmod +x /path/to/app/KVMapper.app/Contents/MacOS/KVMapper

Usage

  • Type the pattern for your input in the input pattern field by using $KEY and $VALUE to mark the position of key and value (e.g. <$KEY><$VALUE>)
  • Do the same for your desired output in the output pattern field
  • Paste your input into the input field. One key-value pair per line
  • Click the Convert button to see your converted key-value pairs in the output field
  • Click on the Settings icon in the pattern fields and choose Save current pattern to save your pattern for the next time you need it

Input:

$VALUE Input: KVMapper Convert">
Input pattern: 
$VALUE

Input:
KVMapper
Convert

Output:

Output pattern:
$KEY: $VALUE

Output:
app_title: KvMapper
button_convert: Convert

Building

  • Open the project folder in IntelliJ IDEA
  • Open the Gradle tab on the right and run the task Tasks -> compose desktop -> run to build and launch the app
  • Open the Gradle tab on the right and run the task Tasks -> compose desktop -> createDistributable to build and package the app into an executable app. (e.g. macOS app)

License

KVMapper
Copyright © 2022 SNAD

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see .

See LICENSE to read the full text.

You might also like...
Created an interview scheduling portal for android
Created an interview scheduling portal for android

Interview Creation Portal Description Created an interiew scheduling portal, whe

Forage-project - This is a project given by Google Android Developers team. It's specifically created for data persistance.

Forage - Starter Code Starter code for the fifth independent project for Android Basics in Kotlin. This project pairs with Unit 5 of Android Basics in

Weekly exercise-2-JamesYuRenxiang created by GitHub Classroom
Weekly exercise-2-JamesYuRenxiang created by GitHub Classroom

Weekly exercise-2-JamesYuRenxiang created by GitHub Classroom

This application was created internally for Aseman Company to evaluate the performance of its employee
This application was created internally for Aseman Company to evaluate the performance of its employee

AsemanTile-HRM This application was created internally for Aseman Company to evaluate the performance of its employees Uses Each of the managers of th

This repository has been created to teach SOLID principles.

SOLID Principles Single Responsibility Each class should have only one purpose and not be filled with excessive functionality. Let's look at this Area

Movie application created with TMDB API, Architecture Components, Android Jetpack libraries

MovieApp Movie application created with TMDB API, Architecture Components, Android Jetpack libraries Built With 🛠️ • Kotlin - The language used in th

This is Android Application Development Lab manual. Created referring to VTU syllabus 18CSMP68.

MOBILE APPLICATION DEVELOPMENT Subject Code : 18CSMP68 VTU 6th Semister Manual Android Lab Manual 18CSMP68 ( Color Print Version ) Android Lab Manual

An android app to browse KDE Store and other Linux Desktop Environment stores of Pling
An android app to browse KDE Store and other Linux Desktop Environment stores of Pling

A free and open source android application for browsing KDE Store and other Linux Desktop Environment's Stores in Pling. Couldn't check it in different devices so there could be some bugs. Bug Report and Feedbacks are highly appreciated.

Releases(1.1)
Owner
Sebastian Neubauer
Sebastian Neubauer
Simple timer app inspired by Newton's Cradle. Created in Jetpack Compose for #AndroidDevChallenge.

Newton's Timer ?? Description Simple timer app inspired by Newton's Cradle. Created in Jetpack Compose for #AndroidDevChallenge. ?? Motivation and Con

Maciej Ciemięga 278 Dec 28, 2022
Helps to find your surrounding's light value (for android only) using device light sensor

react-native-ambient-light-sensor Helps to find your surrounding's light value (in lux unit) (for android only) using device light sensor Installation

Shayan Chatterjee 4 Aug 26, 2022
Smart-flight - This app was created to learn and practice Kotlin language

Smart Flight This app was created to learn and practice Kotlin language. Works o

Kamil 1 Feb 9, 2022
An app created for Code Lousiville in order to learn the in-and-outs of basic Android development

Tea House is an app created for Code Lousiville in order to learn the in-and-outs of basic Android development.

Chauncey Harlan 0 Nov 19, 2021
UML model and code examples of design patterns for Kotlin/Native. The model is created with Astah.

Design Pattern Examples in Kotlin/Native Model and code examples of GoF Design Patterns for Kotlin/Native. This project is available for the following

Takaaki Teshima 3 Jun 27, 2022
A pet project created to practise Android Development skills in Kotlin after finishing multiple courses online.

A pet project created to practise Android Development skills in Kotlin after finishing multiple courses online. The app displays a list of hundreds of characters provided by The Rick and Morty API https://rickandmortyapi.com/. In other screens user can access detailed information about a particular character, such as status, location and episodes. Libraries used in a project: - Kotlin - Jetpack libraries (Navigation, Room, Hilt, Palette) - other: Glide, Retrofit

Ania 0 Dec 15, 2021
KotlinRoom - What is Android Room? (Use in Kotlin) is a sample project I created for my article

KotlinRoom Android Room Nedir? (Kotlin'de kullanımı) adlı yazım için oluşturduğu

Elif Çetinkaya 1 Jan 8, 2022
ZeAppp v3, created by Android enthusiasts joining the Droidcon 2021 in Berlin, coming to the GDG Booth and writing code, 15 minutes at a time

ZeThree App build at the GDG Community booth at Droidcon Berlin 2021. Come join the fun™. ZeWhat? Based on the previous success of the ZeAppp-app, thi

GDG Berlin Android 8 Sep 16, 2022
Program, created to make popular adb and fastboot commands easier to use

Android Tool What is it? Android Tool is a powerful and beautiful program, created to make popular adb and fastboot commands easier to use. A dark the

Rodion 245 Dec 29, 2022
A gallery application created by photographs taken by NASA's rover vehicle

Nasa-Gallery An Android application that uses the a Nasa API to display photos taken by the Mars Rover is built with MVVM pattern as well as Architect

Oğuzhan Aydın 3 Oct 22, 2021