votlin-app

Votlin is a small petshop with a master/detail structure. It lists the talks from Extremadura Digital Day event.

Server

The server is based on ktor

Web Page

The website is based on React

Visit the site here

Android Application

The Android version is developed in Kotlin/JVM

You can download the app here: Votlin in Google play.

iOS Application

With kotlin/native and Swift

How to build and run

Building the code

  • Make sure you have the Android SDK installed
  • Open the project in IntelliJ IDEA (2017.3 EAP recommended)
  • Create a file local.properties in the root directory of the project, pointing to your Android SDK installation. On Mac OS,
    the contents should be sdk.dir=/Users/<your username>/Library/Android/sdk. On other OSes, please adjust accordingly.
  • Run ./gradlew build

Running the backend

  • Run ./gradlew backend:run from the command line or from Gradle toolwindow
  • The backend will start serving on localhost:8080, with data stored in MySQL database

Running the Android app

  • Create a run configuration of type "Android App"
  • Select module "app" in the run configuration settings
  • Run the configuration
  • Select the emulator or connected device, as normal

Running the Web client

  • Make sure the backend is running on localhost:8080
  • Run gradlew :frontend:run in the 'web' directory to run webpack development server

Running iOS

  • This is quite simple, open the xcodeproject file with xCode and click on "play" button, that's all ;)

Thanks to:

TODO

  • iOS -> Fix UI thread issue.
  • TornadoFX -> Improve the UI
  • Tests
  • Error handling, maybe with Arrow datatypes?
  • Wiki -> Add how import and iOS framework and configure the build phase to use Kotlin from iOS

Screenshots

Android

Votlin_Android_Screenshot

iOS

Votlin_iOS_Screenshot

Web

Votlin_Web_Screenshot

Demo gif

Votlin_demo

GitHub