Skip to content

Repository files navigation

Quizzes Tutor

Build Website License

code style: prettier Code Coverage

Slack Discussion Group

Quizzes Tutor Service

Vue.js web application and Spring-boot API

with multiple choice questions for students

and quiz management for teachers

About • Technologies • Installation • Testing • Patreons • Contributing • License

About


Quizzes Tutor allows teachers to create and reuse, multiple-choice questions with images and topics which can be inserted in assessments and quizzes. Its development started as an effort of project IMPRESS to share and reuse questions and quizzes of software engineering.


It is currently integrated with IST authentication such that it can be used for any course.


Students can then answer those questions in sugested quizzes or generated quizzes (pseudo-random) providing them with a useful self-assessment tool to improve their learning.


Technologies

Installation

  • Install
sudo apt update && sudo apt upgrade
sudo apt install openjdk-25-jdk postgresql
  • Start db, change to postgres user and create DB
sudo service postgresql start
sudo su -l postgres
dropdb tutordb
createdb tutordb
  • Create user to access db
psql tutordb
CREATE USER your-username WITH SUPERUSER LOGIN PASSWORD 'yourpassword';
\q
exit
cd backend
./mvnw clean spring-boot:run
cd frontend
npm install
npm run dev

Testing

cd backend  && ./mvnw clean -Ptest test   # unit tests (Spock, H2 in memory)
cd frontend && npm run test:unit          # unit tests (vitest)
cd frontend && npm run test:e2e           # end-to-end (Cypress, needs both servers)

See RUNNING-AND-TESTING.md for the integration and load tests, for running against a database dump, and for where the demo quizzes come from.

The Cypress suite and the backend integration tests delete data without a WHERE clause. Point them at a disposable database only.

Patreons

A special thanks to our patreons for supporting this project:

Técnico Logo IMPRESS Logo INESC Logo

Contributing

Your contributions are always welcome! Please have a look at the contribution guidelines first.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

34 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages