Skip to content

mixitconf/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 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

About

MiXiT website

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 24

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy