Skip to content

stesua/mixit

 
 

Repository files navigation

Travis CI

MiXiT website

This project purpose is to power the MiXiT website.

Software design

This project software design goal is to demonstrate what a functional web application developed with Spring Framework 5 and Kotlin can look like:

You can see a variant of this project software design in this functional-bean-registration branch:

Technologies used

TODO

Developer guide

Prerequisite

Run the app in dev mod using command line

  • Run ./gradlew bootRun in another terminal
  • Run gulp watch in another terminal
  • Open http://localhost:8080/ in your browser
  • If you want to debug the app, add --debug-jvm parameter to Gradle command line

Sass, TypeScript, messages*.properties and templates should be live reloaded.

Import and run the project in IDEA

  • Make sure you have at least IntelliJ IDEA 2016.3.6 or 2017.1.x and IDEA Kotlin plugin 1.1.1+ (menu Tools -> Kotlin -> configure Kotlin Plugin Updates -> make sure "Stable" channel is selected -> check for updates now -> restart IDE after the update)
  • Import it in IDEA as a Gradle project and make sure to uncheck "Create Module for each SourceSet" to avoid a nasty bug that prevent to run the app in IDEA
  • In IntelliJ IDEA, right click on Application.kt then Run ... or Debug ...
  • Run gulp watch in another terminal
  • Open http://localhost:8080/ in your browser

Sass, TypeScript, messages*.properties and templates should be live reloaded.

Package and run the application from the executable JAR:

./gradlew clean build
java -jar build/libs/mixit-1.0.0-SNAPSHOT.jar

Deploy the app on Cloud Foundry

./gradlew clean build
cf push

Copy PROD data to src/main/resources/data

curl https://mixitconf.org/api/blog | python -m json.tool > blog.json
curl https://mixitconf.org/api/event | python -m json.tool > events.json
curl https://mixitconf.org/api/user | python -m json.tool > users.json
curl https://mixitconf.org/api/2017/talk | python -m json.tool > talks_2017.json
commit -a -m "Update data from PROD"

Packages

No packages published

Languages

  • HTML 44.8%
  • Kotlin 38.2%
  • CSS 12.9%
  • JavaScript 3.0%
  • TypeScript 1.1%