- Gradle Multiplatform Project (Common, Client and Server)
- Common contains shared code (TodoItem)
- Server runs a Spring Boot Application with a single RestController to serve TodoItems
- Client uses kotlinFrontend Gradle Plugin to generate JS Code
- Uses npm, Karma and Webpack (you need a local npm installation)
- Client is a react application using redux to manage state transitions
- Loading todos from server is done using kotlin coroutines inside a redux middleware
Run Webpack server for client
./gradlew -t run
Run SpringBoot Server manually from server