Learn Tool is a web application that aims to improve the study and learning process. Learn Tool consists of an active recall learning tool, and offers a whole range of functionalities, from importing a dataset to create custom cards and workspaces.
Read the documentation in order to discover the features of Learn Tool.
Learn Tool application uses Oauth 2.0 and JWT authentication. Learn Tool supports the local authentication and the Google authentication. Read the page google_authentication in order to configure Google Cloud Platform.
Learn Tool is a web application built using Spring Boot 2 framework and Kotlin language on the backend, and React JS framework on the frontend.
Install OpenJDK 11, Node.js >= 12.4.0, and Docker (Docker compose).
./gradlew clean build -PskipWebApp
./gradlew clean build integrationTest -PskipWebApp
./gradlew clean build
./gradlew clean build integrationTest
./gradlew ktlintCheck
./gradlew ktlintFormat
cd ./frontend
eslint --ext .jsx,.js src/
cd ./frontend
eslint --fix --ext .jsx,.js src/
./gradlew jibDockerBuild
Create a file .env with the following content:
POSTGRES_USERNAME=postgres
POSTGRES_PASSWORD=postgres
docker-compose -f docker-compose-development.yml up
cd ./frontend
npm start
docker-compose up --build
http://localhost:3000
http://localhost:80
docker exec -it db /bin/bash
psql learntool $POSTGRES_USERNAME
docker exec -t db pg_dumpall -c -U postgres > backup/dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql
cat backup/<dump_file> | docker exec -i db psql -U postgres
The directory "backend/documents" contains the OpenAPI REST APIs documentation. The documentation is compliant with Swagger UI and Postman.
Run the following command to validate the OpenAPI documentation file:
./gradlew validateOpenApi