Code Monkey home page Code Monkey logo

goto-amsterdam-2024-workshop's Introduction

Full Stack Kotlin Application Development

GOTO Amsterdam: 10th June 2024

This repository contains a series of independant Kotlin / Gradle projects, to be used on the Full Stack Kotlin Application Development workshop at GOTO Amsterdam.

Full details can be found in the slide deck used to deliver the workshop. Please note that:

  • All the projects are independent. Opening the entire repo in an IDE will take a very long time and is not recommended.
  • After cloning this repository, you will need to make the gradlew scripts executable if you intend to build and run the projects manually.

Back end projects, using Ktor and Exposed

  • ktor-fundamentals-start - A basic Task Manager example in Ktor, with additional links to implement.
  • ktor-fundamentals-finish - As above, but with the additional links implemented.
  • ktor-web-applications-start - The example rewritten using Thymeleaf Templates, with extra functionaliy to implement.
  • ktor-web-applications-finish - As above, but with the additional features implemented.
  • ktor-rest-start - The example rewritten as a JavaScript Single Page Application interacting with a Ktor RESTful Service. With room for expansion.
  • ktor-rest-finish - The above example, with full functionality
  • ktor-testing-start - The above example, refactored to support Dependency Injection. Which then allows us to create a suite of tests using the Ktor Test Framework.
  • ktor-client-start - A full stack application. We use Compose Multiplatform for Desktop and the Ktor Client to interact with the RESTful service. NB this was created via the Kotlin Multiplatform Wizard.
  • ktor-exposed-start - Our REST / SPA based application, but now talking to a PostgreSQL database via a repository implemented using the Exposed Framework. With two tasks to complete.
  • ktor-exposed-finish - The completed version of the above.

Front end projects, using KMP and Compose Multiplatform

  • kmp-weather-basic-start - A skeleton multiplatform app for viewing the weather in different capital cities around the world. With several UI related tasks to complete.
  • kmp-weather-basic-finish - As above, but with full UI functionality.
  • kmp-weather-networking-start - The weather application, now with partial networking functionality.
  • kmp-weather-networking-finish - As above, but with all the networking code written.
  • kmp-weather-native-start - A completed weather application. Except for the ability to detect the users current locale. This needs to be implemented in a platform specific way, via expected and actual declarations.
  • kmp-weather-native-finish - The completed version of the above.
  • kmp-multiplatform-testing-start - A example of how to test platform specific functionality.

goto-amsterdam-2024-workshop's People

Contributors

garthgilmourni avatar

Stargazers

Hamza avatar Sercan Noyan Germiyanoğlu avatar

Watchers

 avatar

Forkers

ccizer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.