Required means the project brief imposes it. Chosen means the team decided.
| langage/software |
Version |
Where to get it |
| Java |
25 |
|
| Intellij |
2026.1.4 |
|
| PostgreSQL |
18 |
|
| Studio visual code |
1.140 |
|
| Postman |
12.31.2 |
|
| Looping |
4.1 |
|
| Part |
Technology |
Type |
| Web UI |
Native JavaScript, Web Components, ES modules |
Required |
| UI style |
Bootstrap, Bootstrap Icons, Google Fonts (latest) |
Required |
| UI language |
English |
Required |
| Backend |
Java (latest LTS), Spring Boot, Maven (latest stable) |
Required |
| Database |
PostgreSQL 18, set up with SQL scripts |
Required |
| Deployment |
Bash scripts, run by hand on the VPS (staging) |
Required |
| Use |
Tool |
Type |
| Code, issues, board, pull requests, wiki |
GitHub |
Required |
| API tests |
Postman |
Required |
| Database design |
Looping |
Required |
| UI design |
TODO (one tool for everyone) |
Required |
| IDE |
TODO |
Chosen |
- The browser pages call the backend through a REST API.
- The backend checks the data, applies the rules and talks to PostgreSQL.
- It also calls two outside services: REST Countries (import) and an AI service (report).