Skip to content

FilipDisvolvas/bookmarkr

Repository files navigation

bookmarkr -- reactive bookmark management

build status test status

Filips kleine Spielwiese. Bookmarks sollen mobile first zentral verwaltet werden. Tech Stack:

  • Gradle
  • Kotlin / Java 17
  • Spring Boot mit Webflux (reactive-Kram)
  • verschiedene Security Foo, die interessant sein könnten
  • JUnit 5
  • MongoDB
  • Bootstrap
  • Vielleicht verwende ich AngularJS, vielleicht auch einfach nur PJAX. Mal sehen...

Später soll noch eine Volltest-Suche und eine automatische, verzeichnisübergreifende Gruppierung eingebaut werden.

Das Projekt fängt gerade erst an und wenn es nachher wirklich interessant wird, dann wird es offline genommen. ;-)

Frontend ist noch nicht wirklich da. Dafür ist die Test-Abdeckung schön.

Ein kleiner Workflow in GitHub Actions ist auch vorhanden. Lässt immerhin die Tests durchlaufen und benachrichtigt, wenn sich der master- oder feature-Branch nicht bauen lässt. Die Badges in diesem README.md werden automagisch generiert.

Lokales Testen

Aktuell ist hauptsächlich das Test-Profil im Spring-Projekt von Bedeutung. Da die In-Memory-Datenbank von MongoDB manchmal nicht sauber herunterfährt, greife ich auf einen Docker-Container zurück.

docker pull mongo
docker pull mongo-express
docker run -d --network host -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=secret mongo
docker run -d -p 9081:8081 -e ME_CONFIG_MONGODB_URL=mongodb://mongoadmin:secret@172.17.0.1:27017  mongo-express

(Echte Passwörter würde ich natürlich niemals versionieren... ;-) )

sudo archlinux-java set java-17-openjdk
SPRING_PROFILES_ACTIVE=test ./gradlew clean build test jacocoTestReport
...
Test Coverage:
    - Class Coverage: 86.2%
    - Method Coverage: 65%
    - Branch Coverage: 78.6%
    - Line Coverage: 87.8%
    - Instruction Coverage: 79.9%
    - Complexity Coverage: 64.7%



Work in progress. To be continued...

About

Reactive bookmark management

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages