Skip to content

mixitconf/mixit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

78407ce · Apr 29, 2025
Nov 16, 2023
Mar 24, 2023
Jan 27, 2025
Apr 29, 2025
Apr 3, 2025
May 21, 2022
Apr 27, 2019
Dec 12, 2016
Mar 1, 2025
Dec 11, 2023
Oct 24, 2024
Jun 2, 2019
Jun 2, 2019
Nov 16, 2023
Nov 21, 2023
Nov 15, 2023
Nov 16, 2023

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 Boot 2, Spring WebFlux and Kotlin can look like:

Technologies used

TODO

Developer guide

Prerequisite

Start the database

We use a mongodb instance and this database is managed with a docker file

  • Run docker compose up to start the database and the console
  • Open http://0.0.0.0:8081 to open the mongodb console
  • At any moment you can stop and remove and restart the container if you need to reinit the database

Run the app in dev mod using command line

  • Run ./gradlew bootRun in another terminal
  • Run ./gradlew 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 2017.2.x and IDEA Kotlin plugin 1.1.4+ (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
  • In IntelliJ IDEA, right click on Application.kt then Run ... or Debug ...
  • Run ./gradlew 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 Clever Cloud

When you merge a PR into prod branch (usually from master branch) it will trigger a deployment on Clever Cloud.

Copy PROD data to src/main/resources/data

curl https://mixitconf.org/api/blog | python3 -m json.tool > blog.json
curl https://mixitconf.org/api/faq | python3 -m json.tool > faq.json
curl https://mixitconf.org/api/event | python3 -m json.tool > events.json
curl https://mixitconf.org/api/event/images | python3 -m json.tool > events_image.json
curl https://mixitconf.org/api/user | python3 -m json.tool > users.json
curl https://mixitconf.org/api/2025/talk | python3 -m json.tool > talks_2025.json
git commit -a -m "Update data from PROD"

Database

If you need to restore a Clever Cloud archive in your local db, you can follow these steps

  • copy the archive in ./db/dump
  • restart the container
  • use this command
docker exec -it mongo-mixit mongorestore -u=admin -p=mixit23 --drop --noIndexRestore --archive=/tmp/dump/mongodb_XXXX.archive