This project is part of a sophomore Software Development Continuous Integration and Software Quality 1 (CISQ1) at the Institute for ICT of the Hogeschool Utrecht.
During the start of the course, we will analyse the required use cases, domain and architecture.
For now, let's see if we can get this project started!
- Clone the repository and make it your own
- Start a PostgreSQL instance, either via
docker-compose up
or manually- For manual instructions, see below
- Check if everything works by running the tests, either via your IDE or via
mvnw verify
- Follow the instructions in the course assignments
First, make sure to set up the correct databases and users:
CREATE USER "cisq1-lingo" WITH CREATEDB PASSWORD 'cisq1-lingo';
CREATE USER "cisq1-lingo-test" WITH CREATEDB PASSWORD 'cisq1-lingo-test';
CREATE DATABASE "cisq1-lingo" OWNER "cisq1-lingo";
CREATE DATABASE "cisq1-lingo-test" OWNER "cisq1-lingo-test";
Then, run the import script found at development/db/lingo_words.sql. You can import or copy-and-paste these queries into a PostgreSQL client of your choosing.
By default, there is no PostgreSQL database present during continuous integration. Although it is a less realistic test, it suffices to replace it with an in-memory database like H2. Our starter project already includes configuration for this, but you need to let Maven know that it should activate the continuous integration profile in Spring. The command to do this is as follows:
mvnw verify -Dspring.profiles.active
This is understandable! Although it might be slower, it is a more realistic test. Do note that longer run times might make you run out of GitHub Action minutes.
Have a look at:
- GitHub Actions Service Containers for infrastructure managed by GitHub Actions
- Test containers for more control over infrastructure during tests