GithubHelp home page GithubHelp logo

oboco-backend's Introduction

oboco-backend

the backend of oboco as a quarkus and quarkus-native application (work in progress).

quarkus

requirements

  • java 11
  • maven >= 3.6.2

configuration

  • application
    • configure src\non-packaged-resources\data.properties
      • %ROOT_BOOK_COLLECTION%=%DATA_PATH%: the data (books, book collections)
    • configure src\main\resources\application.properties
      • quarkus.datasource.db-kind: h2
      • quarkus.datasource.jdbc.url: jdbc:h2:file:./database
      • quarkus.datasource.username:
      • quarkus.datasource.password:

build

  • mvn compile quarkus:dev
  • mvn compile quarkus:dev -Dquarkus.args="start=DEFAULT"
  • mvn compile quarkus:dev -Ddebug (port: 5005)

test

quarkus-native

requirements

  • docker
  • database: h2, mysql or postgresql

configuration

  • docker
    • select "settings"
    • select "resources"
    • set "memory" to "6.00 gb"
  • database
    • create database
      • src\non-packaged-resources\database*.ddl
      • src\non-packaged-resources\database*.sql
  • application
    • configure src\main\resources\application.properties
      • quarkus.datasource.db-kind: "h2", "mysql" or "postgresql"

build

  • docker build --build-arg OBOCO_DATABASE_NAME=mysql -f Dockerfile-mandrel -t oboco-backend/2.0.0 .
    • "--build-arg OBOCO_DATABASE_NAME=mysql": the database type ("h2", "mysql" or "postgresql").

run

  • start
    • docker run -e TZ=Europe/Brussels -e OBOCO_SERVER_AUTHENTICATION_SECRET=secret -e OBOCO_DATABASE_URL=jdbc:mysql://192.168.0.219:3306/oboco -e OBOCO_DATABASE_USER_NAME=root -e OBOCO_DATABASE_USER_PASSWORD=toor -i --rm -p 8080:8080 -v c:/oboco/application-logger-data:/application-logger-data -v c:/oboco/application-data:/application-data -v c:/oboco/user-data:/user-data --name oboco-backend oboco-backend/2.0.0
      • "-e TZ=Europe/Brussels": the timezone
      • "-e OBOCO_SERVER_AUTHENTICATION_SECRET=secret": the authentication secret
      • "-e OBOCO_DATABASE_URL=jdbc:mysql://192.168.0.124:3306/oboco": the database url
      • "-e OBOCO_DATABASE_USER_NAME=root": the database user name
      • "-e OBOCO_DATABASE_USER_PASSWORD=toor": the database user password
      • "-v c:/oboco/application-logger-data:/application-logger-data": the logger data
      • "-v c:/oboco/application-data:/application-data": the data (book pages)
      • "-v c:/oboco/user-data:/user-data": the data (books, book collections)
  • stop
    • docker stop oboco-backend

test

registry

you can use the latest docker image:

  • h2: registry.gitlab.com/jeeto/oboco-backend/oboco-backend-h2:latest
  • mysql: registry.gitlab.com/jeeto/oboco-backend/oboco-backend-mysql:latest
  • postgresql: registry.gitlab.com/jeeto/oboco-backend/oboco-backend-postgresql:latest

development

  • update test branch with master
    • git checkout master
    • git pull
    • git checkout test
    • git merge master
    • git push origin test
  • update master with test branch
    • git checkout master
    • git merge test
    • git push origin master
  • push docker image
    • docker login registry.gitlab.com -u jeeto -p %TOKEN%
    • docker build --build-arg OBOCO_DATABASE_NAME=%DATABASE_NAME% -f Dockerfile-mandrel -t registry.gitlab.com/jeeto/oboco-backend/oboco-backend-%DATABASE_NAME%:latest .
    • docker push registry.gitlab.com/jeeto/oboco-backend/oboco-backend-%DATABASE_NAME%:latest

license

mit license

oboco-backend's People

Watchers

James Cloos avatar Jeroen Van Steirteghem avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.