Skip to content
This repository has been archived by the owner on Oct 17, 2024. It is now read-only.

QuantumRange/Verbo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

!! This project is no longer maintained !!

Verbo

This repository is inactive, but I will fix bugs or continue development if there is interest. A vocabulary learning platform.

Features

  • Learning vocabulary
  • Learning groups
  • Live Mode (Competition)
  • Group right system

Screenshots

Here are all the groups that the student has access to. Teachers can see all courses and create new ones. image
They are also quickly accessible via a drop-down menu.
image
A group can contain multable sets, including sets that are in different groups. image
Teachers can set information for tests and exams, with directly selectable vocabulary. image
Each user has a personalised view of a set, they see witch words they know they want with which direction. They can then choose a learning mode, for the go 'Card' is great because you don't need to type and at home 'Text'. But 'Full' automatically gives you cards and then text, depending on how well you know the word.

image
Here are a few screenshots for the 'Card' mode: image
image
image

Here are a few screenshots for the 'Text' mode: image
image

The user can customise the learning algorithm. So if you want to type the word correctly every time and then move on, you can tweak the sliders. image

For administrators and teachers there is also an admin panel with all users and the ability to change their rank and password (the system generates a random password for the user and then forces them to change it on their first login) and delete the account. image

Docker

You can use verbo via docker-compose, here is one example:

version: '3.7'
services:
  verbo:
    image: qrqrqr/verbo:latest
    ports:
      - "80:80"
    environment:
      - spring.datasource.url=jdbc:mariadb://localhost:3306/verbo
      - spring.datasource.username=root
      - spring.datasource.password=root
      - spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

To configure the Config, set the environment variables as shown. The default admin user is root:root.

MariaDB Quickstart

Here is a quick start docker compose file for a mariadb setup for Verbo.

version: '3.7'
services:
  mariadb:
    image: mariadb:latest
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=my_root_password
      - MYSQL_DATABASE=verbo
      - MYSQL_USER=my_user
      - MYSQL_PASSWORD=my_password
    volumes:
      - verbo_data:/var/lib/mysql

  verbo:
    image: qrqrqr/verbo:latest
    depends_on:
      - mariadb
    ports:
      - "80:80"
    environment:
      - spring.datasource.url=jdbc:mariadb://mariadb:3306/verbo
      - spring.datasource.username=my_user
      - spring.datasource.password=my_password
      - spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

volumes:
  verbo_data:

Config

The configuration for my Verbo application can be set up in several ways, but the three most common methods are

  • You can pass config values as command line arguments when starting the program. For example, if you want to set the value of a property called "apiKey" to "abc123", you can pass the argument "-DapiKey=abc123" when starting the program.
  • You can create a file called "application.properties" or "application.yml" in the same location as the .jar and set configuration values for the program. These values will be used as the default configuration for the application if no other configuration values are specified.

For more information about configuring the application, refer to the Spring Boot documentation: 24. Externalised Configuration

SQL Database

The table below lists all supported SQL databases. If you don't see yours in the list, create a new issue.

SQL Implementation spring.datasource.url spring.datasource.driver-class-name
MySQL jdbc:mysql://<url>:<port>/<database> com.mysql.cj.jdbc.Driver
MariaDB jdbc:mariadb://<url>:<port>/<database> org.mariadb.jdbc.Driver
PostgreSQL jdbc:postgresql://<url>:<port>/<database> org.postgresql.Driver
Microsoft SQL Server jdbc:sqlserver://<url>:<port>/<database> com.microsoft.sqlserver.jdbc.SQLServerDriver
SQLite jdbc:sqlite://<url>:<port>/<database> org.sqlite.JDBC
HSQLDB jdbc:hsqldb://<url>:<port>/<database> org.hsqldb.jdbc.JDBCDriver

Example database configuration for MariaDB:

spring.datasource.url=jdbc:mariadb://localhost:3306/verbo
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

Btw. if you want to change the port because you don't run this in a docker container you can add server.port=<port>.