Welcome to the documentation pages of the CriticalCards of Critical SummerCamp 2022.
Here you can find detailed information about the project, including the development
teams and run instructions.
So far, contributions are exclusively made by the initial team, but we hope to open
them to the community.
This project is a collaborative tool for retrospective and poker sessions. It allows team members to participate in these remotely. Users can create and name lanes in their sessions. Furthermore, users can add cards to the lanes, move the cards between lanes, and edit their content.
To be the ultimate collaborative retrospective platform for Critical Software engineers.
Retrospective sessions are a critical part of the Agile development process. Now that remote work is more prevalent in the workplace, it is imperative that engineers can engage in these sessions at a distance. The platform allows anyone to easily participate, saving on post-it notes.
The application is made of three components:
- The frontend in Angular (version 14.0)
- The backend in Quarkus (version 2.9.2)
- The PostgreSQL (latest docker image version) database
For development purposes, a dev server is available and is spawned by calling ng serve
.
The server will be available at localhost:4200 by default. With
this, the application will automatically reload if you change any of the source files.
Running ng build
instead builds the project. The build artifacts will be stored in
the dist/
directory.
More information about the frontend can be found on the frontend's README.
Running the backend in dev mode enables live coding. This can be done using:
mvnw compile quarkus:dev
To package the application:
mvnw package
This produces the quarkus-run.jar
file in the target/quarkus-app/
directory, and stores
the dependencies in the target/quarkus-app/lib/
directory. The application is now runnable
using java -jar target/quarkus-app/quarkus-run.jar
.
If you want to build an über-jar, execute the following command:
mvnw package -Dquarkus.package.type=uber-jar
The application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar
.
More information about the backend can be found on the backend's README.
The PostgreSQL server runs inside a docker container, and is orchestrated using docker compose.
To start (and bootstrap) the database, a user should call docker-compose up
on
the db.yml file:
docker-compose -f db.yml up
# or in Compose V2
docker compose -f db.yml up
Note: the database name and credentials are present on the db.yml and can be customized there.
- As of writing, the frontend0s components aren't tested;
- The backend functionalities are tested using JUnit5:
- The tests use the database and are idempotent.
- Commits to master aren't allowed;
- Pull requests from development branches to the master branch should be reviewed and approved by members of other teams.
The project was developed by the following 4 teams managed using the Kanban management system in Trello.
- Duarte Bento
- Mariana Libório
- Pedro António Coelho e Silva
- Salvador Domingues
- Guilherme Fontes
- João Trocado
- José Lourenço
- Marisa Nunes
- João de Jesus Costa
- João Mesquita
- José Macedo
- Tiago Duarte da Silva
- Daniel Sousa
- João Pedro Félix
- João Bruno Rocha