Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@andreabiagini5/applicazioni-e-servizi-web-project

AndreaB2000382MIT1.1.3

Project for Applicazioni e Servizi Web.

web, client-server, express, vue, typescript

readme

SandPiles

Place your grains. Tip the balance. In this world of unstable equilibrium, every move can trigger a chain reaction. Conquer the board one avalanche at a time.

Bugs Code Smells Duplicated Lines (%) Lines of Code Technical Debt Vulnerabilities

An online multiplayer turn-based strategy game based on the mathematical Abelian sandpile model, developed for "Applicazioni e Servizi Web" and "Software Process Engineering" exams at UniBo's Computer Science Master Degree courses.

Table of Contents

Documentation

Full technical documentation and academic report available here: Report

Features

  • Competitive matches
  • Matches against bot
  • Login to save your progress
  • Leaderboard to check your skill level

Tech Stack

Frontend

  • Vue.js + TypeScript
  • SCSS
  • MDBootstrap

Backend

  • Node.js + Express
  • Socket.IO
  • MongoDB
  • Prolog bot

DevOps

  • Build automation with npm scripts
  • Docker containerization
  • SonarCloud
  • GitHub Actions CI/CD

Installation

  1. Prerequisites:
    • Node.js v20+
    • Docker (for production)
  2. Install dependencies:
    npm install
  3. Configure environment:
    • Create a .env file in the root directory containing: DB_NAME, DB_APP_USERNAME, DB_APP_PASSWORD, DB_ADMIN_USERNAME, DB_ADMIN_PASSWORD, JWT_SECRET, JWT_EXPIRATION.

Running system

The system can be executed locally, using the following commands:

npm run build && npm start

and the client can be accessed from http://localhost:4173.

To run the system in Docker, you first need to create a valid certificate and key pair using the following commands:

openssl req -x509 -newkey rsa:2048 -keyout certs/key.pem -out certs/cert.pem -days 365 -nodes -subj "/CN=sandpiles.com"

Then build and start by running the following commands:

npm run build:docker && npm run start:docker

and accessing the client using https://172.0.0.11.

Contributing

See CONTRIBUTING for details on how to contribute to this project.

License

MIT Licensed - See LICENSE for details.

changelog

1.1.2 (2025-07-17)

Documentation

  • add slides for presentation (eb7b96a)

1.1.1 (2025-07-17)

Dependency updates

  • deps: update dependency @types/node to v22.16.3 (#380) (b0880fc)
  • deps: update dependency @types/node to v22.16.3 (#381) (144e902)
  • deps: update dependency eslint to v9.31.0 (#383) (b45a1a2)
  • deps: update dependency mongoose to v8.16.3 (#382) (2db0c98)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.137 (#384) (eb01a77)

Documentation

  • add contributing.md (944b91f)
  • add slides (543093c)
  • correct deployment section in report (3057245)
  • update docker doc with nginx as reverse proxy (4839c20)
  • write docstrings in model interfaces (aa4359c)
  • write meaningful README (bdefb82)

1.1.0 (2025-07-13)

Features

  • wip: work on fix https-only cookies (73db380)

Dependency updates

  • deps: update dependency @types/node to v22.15.34 (#361) (08ef37b)
  • deps: update dependency @types/node to v22.15.35 (#325) (02c930f)
  • deps: update dependency @types/node to v22.15.35 (#364) (05ef793)
  • deps: update dependency @types/node to v22.16.0 (#368) (0f0b05e)
  • deps: update dependency @types/node to v22.16.0 (#369) (5a0f0eb)
  • deps: update dependency @types/node to v22.16.1 (#376) (006bee1)
  • deps: update dependency @types/node to v22.16.2 (#377) (985714c)
  • deps: update dependency @types/node to v22.16.2 (#378) (64cc9c6)
  • deps: update dependency @vitejs/plugin-vue-jsx to v5.0.1 (#362) (ffeffbd)
  • deps: update dependency @vitest/eslint-plugin to v1.3.4 (#365) (26f21e0)
  • deps: update dependency @vue/eslint-config-typescript to v14.6.0 (#371) (4162b52)
  • deps: update dependency bcrypt to v6 (#355) (799ee1e)
  • deps: update dependency cypress to v14.5.1 (#344) (949513f)
  • deps: update dependency dotenv to v17 (#360) (a179c01)
  • deps: update dependency dotenv to v17.1.0 (#375) (b8b2122)
  • deps: update dependency dotenv to v17.2.0 (#379) (dd4e97f)
  • deps: update dependency eslint to v9.30.0 (#359) (ecf9b92)
  • deps: update dependency eslint to v9.30.1 (#367) (92a9142)
  • deps: update dependency eslint-plugin-vue to v10.3.0 (#372) (4ec65fe)
  • deps: update dependency font-awesome to v6.2.1 (#346) (21fd8f5)
  • deps: update dependency font-awesome to v6.3.0 (#347) (558e237)
  • deps: update dependency font-awesome to v6.4.2 (#348) (c289524)
  • deps: update dependency font-awesome to v6.5.2 (#349) (e36bb92)
  • deps: update dependency font-awesome to v6.6.0 (#350) (ddb34c0)
  • deps: update dependency font-awesome to v6.7.2 (#351) (5d20cbe)
  • deps: update dependency mongoose to v8.16.2 (#373) (2c26c8b)
  • deps: update dependency prettier to v3.6.2 (#352) (abb6e48)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.136 (#331) (0ce6240)
  • deps: update dependency supertest to v7.1.3 (#353) (d1acda8)
  • deps: update dependency typedoc to ^0.28.0 (#354) (d7efe20)
  • deps: update dependency vue-tsc to v2.2.12 (#370) (bc58743)
  • deps: update dependency vue-tsc to v3 (#366) (bcac47b)
  • deps: update typescript-eslint monorepo to v8.35.1 (#363) (92d7e79)
  • deps: update typescript-eslint monorepo to v8.36.0 (#374) (51a0ca1)

Bug Fixes

  • correct execution in all environments (ee5f8d2)
  • wip: socket.io not working with Docker (c949773)
  • wip: vite production variables in client Dockerfile (bd47fc5)

Tests

Build and continuous integration

  • deps: update dependency windows github actions runner to v2025 (#166) (7e5fd74)

General maintenance

  • merge conflict solved (43a2bed)
  • wip: replace numeric IPs with docker service names (a38c20b)

Refactoring

  • docker: move values from .env to codebase (9d8775d)

1.0.0 (2025-06-30)

⚠ BREAKING CHANGES

  • release: commit to trigger first version 1.0.0

Features

  • account: add email to the params for register request (b29aa54)
  • account: add email validation in account model (2a9832f)
  • account: add GET /me api in account (986168b)
  • account: add jwt libs and configure it in the server sub project (2438528)
  • account: add register api with service, repo and model (6d64ff6)
  • account: add register api with service, repo and model (6c03a4e)
  • account: add the chance to change the email in the model (dae1fbc)
  • account: add username validation in account model (0c269cd)
  • account: change account login API uniqueness from email to username (untested) (fc39d4e)
  • account: create a landing and register page (93dd0a2)
  • account: create authentication middleware (ecc03a5)
  • account: create changeEmail socket event (4e37ad3)
  • account: create login api (f575934)
  • account: create logout api (c29d322)
  • account: now token is stored in cookies (ae9d73c)
  • account: working on invalidating old sessions (53c20cc)
  • account: working on retreiving correct value in account repository (2f99e7b)
  • add autentication middleware for sockets (a280d5b)
  • add base Player and Rating model (622b72d)
  • add base Player and Rating model (4a5669a)
  • add base Player and Rating model (ee76086)
  • add base Player and Rating model (34e6ad3)
  • add base Player and Rating model (c5d8f36)
  • add base Player and Rating model (7ef6d3a)
  • add current username retrieving in PlayView (b3d7b6e)
  • add default constructor to matchmakingCandidate (b656b1f)
  • add default kfactor in client rating service (642ca0f)
  • add distribute_grains to prolog program (1617543)
  • add equals to matchmaking candidate (471cf46)
  • add evaluate opponent match function (c2dd6f7)
  • add findAsync as an array extension method (e8ef5a7)
  • add findOpponentOrAddToQueue function (efaf32b)
  • add frontend matchmaking and minor fixes (f4e8e51)
  • add function to find matching opponent (31afa65)
  • add functionality to play button in play page (ef1b0f6)
  • add getCandidate to matchmaking queue repository (23827ac)
  • add getters for Rating properties (ee74fee)
  • add legal_moves to prolog program (7fa6f62)
  • add matchmaking algorithm (c4f52fd)
  • add matchmaking candidate model (c3e2bfe)
  • add matchmaking queue (5b5d7ae)
  • add matchmaking queue repository (0bfe5bc)
  • add matchmaking routine (d73946d)
  • add neighbors to prolog program (f489481)
  • add parameter to matchmaking queue factory (7bd9e0d)
  • add player repository (bc9a448)
  • add rating property to player model (1fce057)
  • add rating to matchmaking candidate (cbad60c)
  • add remove function to matchmaking queue (39075e7)
  • add requestMatchWithBot to socket options. implement matchmaking controller for request match with bot (bf867a7)
  • add rounding util implementation (67fbef7)
  • add screenshots to tutorial (bf6daa9)
  • add server side matchmaking base functionality (e36f0b0)
  • add simple disconnection handling (d5bfb9b)
  • add update_cell to prolog program (1686d65)
  • add valueOf to Rating to enable operator comparisons (c3971c7)
  • base loading spinner on matchmaking implemented (c1acb5f)
  • base styling implemnted to matchmaking page (64e91bd)
  • basic ai bot move service implemented (95f2e3e)
  • board: finish implementation of board (7303258)
  • board: implement game boarb and its components, and write tests for board (91f1314)
  • client: add ratings visualization (aa8129c)
  • client: begin completion of apis in PlayView (3cce121)
  • client: complete layout of profile (e98f3af)
  • client: complete login (no css) (8f36540)
  • client: complete registration (no css) (c192d43)
  • client: create basic ui to change profile name (afc402f)
  • client: create landing page (not responsive yet) (5744fa4)
  • client: create play screen (logics not added yet) (ebd8a4c)
  • client: implement auto login (9efe8bf)
  • client: implement client-side moves application (74b2217)
  • client: implement client-side winner message (fc9565b)
  • client: implement matchOver GUI inside MatchView (c55f07a)
  • client: implement missing elements in ProfileView (c6c4826)
  • client: implement move lock when the other user is moving (b8da8d8)
  • client: inject awesome icon into the codebase (1d8f464)
  • client: make board updating reactive (e783725)
  • client: setup delete account button (da4ed07)
  • complete functionalities binded to navbar (d395999)
  • complete navbar style (48b7484)
  • configure register with auth screen too (9b467e3)
  • continue implementation of match (cd2a1e6)
  • controller: implement addMove in match controller, with tests (979ec1a)
  • controller: implement deleteMatch in match controller, with tests (eb8c648)
  • controller: implement getMatch in match controller, with tests (e4e1903)
  • controller: implement getMatchesByPlayer in match controller, with tests (55d8349)
  • controller: implement room leaving on match end (c1b6aa6)
  • cors: add cors policy logic in app.ts (b63aea5)
  • create a ping pong conversation between client and server with sockets (49da69c)
  • create nav bar in play (6f7f794)
  • decomment all predicates (6ee07fe)
  • dialog: create a simple dialog component (39abdcf)
  • finish adding db population init (0ec7fc6)
  • finish styling login view (2786d3b)
  • graphics: add board buttons coloration (dc7e506)
  • graphics: add modal window for winner message (d2413c7)
  • graphics: create NavBar element and improve match interface (93f2d59)
  • graphics: implement buttons turn-based inactivation (9b292f0)
  • graphics: implement grains vue component (2be70e1)
  • graphics: implement player in match card and custom color theme (8534547)
  • graphics: implement responsive match page (591ee16)
  • graphics: partly implement board buttons view (7bdb8e0)
  • graphics: use MDBootstrap for match view (a2a1b8d)
  • implement base prolog engine (3ed4e3a)
  • implement client reconnection (16fd123)
  • implement client side leaderboard (a5341f4)
  • implement in progress match repository, with tests (ea69892)
  • implement leaderboard account info (cfa5bca)
  • implement leaderboard service (fd675ef)
  • implement rating api and rating service client side (f7f5598)
  • implement ratingDelta and last match in PlayView (7b82ee3)
  • implement simple startMatch interaction with sockets (cb63be2)
  • implement style on leaderboard (b47a72e)
  • implement tutorial page (4ff74c8)
  • implement updateRating (50091b7)
  • implemented comparison method in Rating model (b2bb24b)
  • improve doc comments of prolog program, improve board rappresentation, decomment topple_once (0d3791a)
  • improve guest matchmaking (48eb532)
  • improved coherence of matchmaking queue repository (d805804)
  • landing: update landing using mdb (0b2d3b9)
  • libs: add rate limit on production env and install cors lib (to be used) (8813efe)
  • made Player factory method static (64c5c5b)
  • made to array of matchmaking queue return correctly ordered array (6709c12)
  • make Rating factory method static (56bfbc5)
  • match: add initial board state to match structure (14a6d6a)
  • middleware: correct auth middleware (8247bad)
  • middleware: create validator middleware (185a1a6)
  • model: implement match.winner (e242f51)
  • mongoose: add initial state to match Mongoose schema (43a5b24)
  • now users can play multiple matches one after the other (6eb937c)
  • playbot: implement matches with bot (only in auth namespace) (0069a8a)
  • plug clients to server backend (fixes in mongoose were necessary) (3e57aa0)
  • profile: change email works in front end (8e11fe4)
  • profile: change from editing username to editing email in client (4658771)
  • profile: create path in the client to arrive to profile page (0fe1d63)
  • profile: improve error handling in email changing (2b9b8db)
  • profile: update email works in server (3089178)
  • rating: implement rating update on match over (877d28c)
  • release: commit to trigger first version 1.0.0 (06f0cc0)
  • remove higherThan method in rating model (ef705b1)
  • removed waitingTime from matchmaking queue candidate (77e8607)
  • replace Glicko with Elo ranking system (8e0a8e8)
  • repository: implement feature and some tests for matchRepository deleteMatch (d2b6408)
  • repository: implement feature and some tests for matchRepository updateMatch (10861c9)
  • rework login so it uses AuthScreen (c284274)
  • routes: add routes to match routes file (209314f)
  • saving: correct implementation of match end and implement match history (81b719f)
  • server: delete all unused dependencies and comment all lines that were using them (f14d556)
  • server: delete all unused dependencies and comment all lines that were using them (014e69d)
  • server: implement basic match model structure (eedca2d)
  • server: implement db connection attempts (c8faed0)
  • server: implement delete account api (c690e29)
  • server: update db connection so it uses default variables only in development (fa2c743)
  • service: implement and test matchService.deleteMatch (d0624aa)
  • socket: creating a standard way to use sockets (e13f0fe)
  • sockets: implement simple websocket communication system (b7cf49f)
  • sockets: implement simple websocket communication system (a2eef50)
  • sockets: implement simple websocket communication system (9d71478)
  • sockets: implement simple websocket communication system (e0cfa9c)
  • sockets: implement simple websocket communication system (f3f9c23)
  • sockets: implement simple websocket communication system (5f4b044)
  • style: improve button style (e63a781)
  • style: improve landing style (b9fd326)
  • theme: improve theme management in front end (23d4bdb)
  • update opponent selection logic algorithm to take in account time passed since request (b9944fc)
  • updated matchmaking service to reflect new matchmaking algorithm (161d4ee)
  • WIP: add client styling (cc134a1)
  • WIP: add guest user to db-init (eda6015)
  • WIP: add simple login page for testing (a3492a1)
  • wip: begin implementation of board moves processing (9768945)
  • wip: begin implementation of game board (8abec16)
  • wip: begin implementation of match (36d6b87)
  • wip: implement part of match features (72695ea)
  • WIP: work at updating the email (e5345b2)
  • WIP: work on adding logic to play view (17cc90e)
  • WIP: work on db setup population (0c79b3f)
  • WIP: work on socket auth middlware and routing implementation (d763677)
  • WIP: work on styling login (1bdcaba)
  • WIP: work on using changeEmail socket event in client (ce72709)
  • WIP: working on creating endpoint for email changing in server (e4e865c)
  • wip: working on generalizing from production context in api calls (FE) (b6df177)
  • WIP: working on integrating account and matchmaking (2262861)

Dependency updates

  • core-deps: update nginx docker tag to v1.28 (#339) (92fb097)
  • core-deps: update nginx docker tag to v1.29 (#340) (13ebcf6)
  • deps: add bcrypt to hash passwords (7851a82)
  • deps: add bcrypt to hash passwords (7b8589f)
  • deps: add bcrypt to hash passwords (b34fbc2)
  • deps: add bcrypt to hash passwords (3e23c04)
  • deps: add bcrypt to hash passwords (de00099)
  • deps: add bcrypt to hash passwords (01d3920)
  • deps: add express-validator to deps (8a81273)
  • deps: add express-validator to deps (0099ed5)
  • deps: add express-validator to deps (a58baec)
  • deps: add express-validator to deps (7acb7ad)
  • deps: add helmet to server (5de07fb)
  • deps: add helmet to server (ad74131)
  • deps: add helmet to server (fc37655)
  • deps: regenerate package-lock (38c69a6)
  • deps: remove helmet deps from the root package.json (1cb9940)
  • deps: update dependency @tsconfig/node22 to v22.0.2 (#246) (e390f57)
  • deps: update dependency @types/express to v5.0.2 (#240) (3c6d572)
  • deps: update dependency @types/express to v5.0.3 (#280) (c134d43)
  • deps: update dependency @types/http-errors to v2.0.5 (#281) (2b62c7e)
  • deps: update dependency @types/jest to v30 (#297) (0da86ca)
  • deps: update dependency @types/morgan to v1.9.10 (#282) (9eb280c)
  • deps: update dependency @types/node to v22.14.1 (#175) (3ead72b)
  • deps: update dependency @types/node to v22.14.1 (#176) (7f964b6)
  • deps: update dependency @types/node to v22.15.12 (#212) (623f143)
  • deps: update dependency @types/node to v22.15.12 (#213) (dd23d3f)
  • deps: update dependency @types/node to v22.15.14 (#216) (006cf2e)
  • deps: update dependency @types/node to v22.15.14 (#217) (9854cc4)
  • deps: update dependency @types/node to v22.15.15 (#220) (b576b56)
  • deps: update dependency @types/node to v22.15.15 (#221) (ed7d62b)
  • deps: update dependency @types/node to v22.15.16 (#222) (71747cf)
  • deps: update dependency @types/node to v22.15.16 (#223) (577f0ca)
  • deps: update dependency @types/node to v22.15.17 (#224) (b816d09)
  • deps: update dependency @types/node to v22.15.17 (#225) (421ec60)
  • deps: update dependency @types/node to v22.15.18 (#232) (91dc1d2)
  • deps: update dependency @types/node to v22.15.19 (#241) (77e98dc)
  • deps: update dependency @types/node to v22.15.19 (#242) (eac3421)
  • deps: update dependency @types/node to v22.15.2 (#196) (83037d5)
  • deps: update dependency @types/node to v22.15.2 (#197) (f300e1d)
  • deps: update dependency @types/node to v22.15.20 (#249) (1b82617)
  • deps: update dependency @types/node to v22.15.21 (#248) (8f26a85)
  • deps: update dependency @types/node to v22.15.21 (#252) (5e42412)
  • deps: update dependency @types/node to v22.15.23 (#258) (7c21561)
  • deps: update dependency @types/node to v22.15.23 (#259) (78e1c83)
  • deps: update dependency @types/node to v22.15.24 (#261) (4a1deda)
  • deps: update dependency @types/node to v22.15.24 (#262) (f1cf296)
  • deps: update dependency @types/node to v22.15.27 (#266) (906bd52)
  • deps: update dependency @types/node to v22.15.27 (#267) (2ebe1da)
  • deps: update dependency @types/node to v22.15.29 (#268) (b94cb02)
  • deps: update dependency @types/node to v22.15.29 (#269) (1fe6122)
  • deps: update dependency @types/node to v22.15.3 (#200) (351cc3f)
  • deps: update dependency @types/node to v22.15.3 (#201) (2c9ed94)
  • deps: update dependency @types/node to v22.15.30 (#277) (597edfd)
  • deps: update dependency @types/node to v22.15.30 (#278) (f841534)
  • deps: update dependency @types/node to v22.15.31 (#285) (894d38c)
  • deps: update dependency @types/node to v22.15.31 (#286) (d6e7068)
  • deps: update dependency @types/node to v22.15.32 (#295) (54b9cb3)
  • deps: update dependency @types/node to v22.15.32 (#296) (8018479)
  • deps: update dependency @types/node to v22.15.33 (#316) (0128e07)
  • deps: update dependency @types/node to v22.15.33 (#317) (e9788b4)
  • deps: update dependency @vitejs/plugin-vue to v5.2.4 (#227) (630d4b5)
  • deps: update dependency @vitejs/plugin-vue to v6 (#313) (5cc690b)
  • deps: update dependency @vitejs/plugin-vue-jsx to v4.2.0 (#247) (eff8804)
  • deps: update dependency @vitejs/plugin-vue-jsx to v5 (#314) (86338dc)
  • deps: update dependency @vitest/eslint-plugin to v1.1.40 (#169) (93503fa)
  • deps: update dependency @vitest/eslint-plugin to v1.1.42 (#174) (bc529d0)
  • deps: update dependency @vitest/eslint-plugin to v1.1.43 (#184) (caf62e5)
  • deps: update dependency @vitest/eslint-plugin to v1.1.44 (#208) (b244dc9)
  • deps: update dependency @vitest/eslint-plugin to v1.2.0 (#236) (73077bf)
  • deps: update dependency @vitest/eslint-plugin to v1.2.1 (#254) (eef836c)
  • deps: update dependency @vitest/eslint-plugin to v1.2.2 (#288) (99e068e)
  • deps: update dependency @vitest/eslint-plugin to v1.2.3 (#290) (2ae32b7)
  • deps: update dependency @vitest/eslint-plugin to v1.2.4 (#291) (e482356)
  • deps: update dependency @vitest/eslint-plugin to v1.2.5 (#293) (be14ebe)
  • deps: update dependency @vitest/eslint-plugin to v1.2.7 (#298) (56ca09b)
  • deps: update dependency @vitest/eslint-plugin to v1.3.3 (#358) (ddd3360)
  • deps: update dependency @vue/eslint-config-typescript to v14.5.1 (#300) (e896ac8)
  • deps: update dependency concurrently to v9.2.0 (#307) (32d682d)
  • deps: update dependency concurrently to v9.2.0 (#308) (0dda3f8)
  • deps: update dependency cypress to v14.3.0 (#168) (98aefb0)
  • deps: update dependency cypress to v14.3.1 (#183) (ef0395d)
  • deps: update dependency cypress to v14.3.2 (#193) (ea1de73)
  • deps: update dependency cypress to v14.3.3 (#218) (49f3eba)
  • deps: update dependency cypress to v14.4.0 (#251) (fe5da7f)
  • deps: update dependency cypress to v14.4.1 (#272) (eb7dc35)
  • deps: update dependency cypress to v14.5.0 (#302) (e40358d)
  • deps: update dependency eslint to v9.25.0 (#186) (d8be8b8)
  • deps: update dependency eslint to v9.25.1 (#188) (cd131af)
  • deps: update dependency eslint to v9.26.0 (#209) (d796418)
  • deps: update dependency eslint to v9.27.0 (#239) (d3ff240)
  • deps: update dependency eslint to v9.28.0 (#270) (e142e2b)
  • deps: update dependency eslint to v9.29.0 (#292) (581bdbf)
  • deps: update dependency eslint-config-prettier to v10.1.2 (#173) (ea04b1a)
  • deps: update dependency eslint-config-prettier to v10.1.3 (#219) (1345403)
  • deps: update dependency eslint-config-prettier to v10.1.5 (#226) (eabf7db)
  • deps: update dependency eslint-plugin-cypress to v4.2.1 (#170) (d8e1fd8)
  • deps: update dependency eslint-plugin-cypress to v4.3.0 (#192) (f43ef7d)
  • deps: update dependency eslint-plugin-cypress to v5 (#265) (5eedde9)
  • deps: update dependency eslint-plugin-cypress to v5.1.0 (#274) (a80b9c4)
  • deps: update dependency eslint-plugin-import to v2.32.0 (#306) (b7fdeac)
  • deps: update dependency eslint-plugin-vue to v10.0.1 (#205) (e063dab)
  • deps: update dependency eslint-plugin-vue to v10.1.0 (#207) (cdaa945)
  • deps: update dependency eslint-plugin-vue to v10.2.0 (#279) (68f325e)
  • deps: update dependency font-awesome to v6.1.2 (#345) (762fcd1)
  • deps: update dependency jest to v30 (#287) (a2b08ae)
  • deps: update dependency jest to v30.0.1 (#304) (8e65a25)
  • deps: update dependency jest to v30.0.2 (#305) (a914e4f)
  • deps: update dependency jest to v30.0.3 (#318) (d43ffa7)
  • deps: update dependency jsdom to v26.1.0 (#178) (abd1a83)
  • deps: update dependency nodemon to v3.1.10 (#194) (ca158ff)
  • deps: update dependency npm-run-all2 to v8 (#210) (c05481b)
  • deps: update dependency npm-run-all2 to v8.0.2 (#237) (27a3a48)
  • deps: update dependency npm-run-all2 to v8.0.3 (#250) (cfbd049)
  • deps: update dependency npm-run-all2 to v8.0.4 (#255) (c89ce8c)
  • deps: update dependency pinia to v3.0.2 (#171) (9e44a24)
  • deps: update dependency pinia to v3.0.3 (#275) (d4cb7db)
  • deps: update dependency prettier to v3.6.0 (#309) (4ed1485)
  • deps: update dependency prettier to v3.6.0 (#310) (cd793cf)
  • deps: update dependency prettier to v3.6.1 (#319) (1911a81)
  • deps: update dependency prettier to v3.6.1 (#320) (d8a98c8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.126 (#198) (592e84f)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.127 (#204) (0032579)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.128 (#230) (6a17d4b)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.129 (#244) (a99ebbf)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.131 (#253) (0f9fe2c)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.132 (#257) (91caba8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.133 (#263) (355f1ab)
  • deps: update dependency start-server-and-test to v2.0.12 (#235) (16c53f5)
  • deps: update dependency supertest to v7.1.1 (#228) (2406b17)
  • deps: update dependency ts-jest to v29.3.2 (#177) (864c7c3)
  • deps: update dependency ts-jest to v29.3.3 (#233) (ae2218a)
  • deps: update dependency ts-jest to v29.3.4 (#238) (3f333cd)
  • deps: update dependency ts-jest to v29.4.0 (#289) (ee0dffc)
  • deps: update dependency vite to v6.2.6 (#172) (7210ea1)
  • deps: update dependency vite to v6.3.0 (#180) (07145b1)
  • deps: update dependency vite to v6.3.1 (#182) (d2644b5)
  • deps: update dependency vite to v6.3.2 (#185) (07147dc)
  • deps: update dependency vite to v6.3.3 (#195) (6fa4247)
  • deps: update dependency vite to v6.3.4 (#206) (5e91f51)
  • deps: update dependency vite to v6.3.5 (#211) (dd9f0f0)
  • deps: update dependency vite to v7 (#315) (bbc54b7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.5 (#181) (c0183f7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.6 (#202) (b34741d)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.7 (#294) (ec4d29c)
  • deps: update dependency vue to v3.5.14 (#234) (296feed)
  • deps: update dependency vue to v3.5.15 (#256) (35227fb)
  • deps: update dependency vue to v3.5.16 (#264) (6a29c37)
  • deps: update dependency vue to v3.5.17 (#303) (f750519)
  • deps: update dependency vue-router to v4.5.1 (#199) (d708109)
  • deps: update dependency vue-tsc to v2.2.10 (#191) (10faf00)
  • deps: update jest (2494996)
  • deps: update jest (88e1dd1)
  • deps: update jest (40b55a4)
  • deps: update jest (6558b57)
  • deps: update jest (3c177b0)
  • deps: update jest (37b7f08)
  • deps: update jest (a799bad)
  • deps: update jest (ac662cb)
  • deps: update node.js to >=20.0.0 <=22.15.0 (#190) (2f63bce)
  • deps: update node.js to >=20.0.0 <=22.15.1 (#231) (8b7c8fa)
  • deps: update node.js to >=20.0.0 <=22.16.0 (#245) (0ca5297)
  • deps: update node.js to >=20.0.0 <=22.17.0 (#312) (ee1a247)
  • deps: update typescript-eslint monorepo to v8.29.1 (#167) (8de8d8e)
  • deps: update typescript-eslint monorepo to v8.30.1 (#179) (0f22c6d)
  • deps: update typescript-eslint monorepo to v8.31.0 (#189) (4525001)
  • deps: update typescript-eslint monorepo to v8.31.1 (#203) (6e2d121)
  • deps: update typescript-eslint monorepo to v8.32.0 (#215) (c41ddb1)
  • deps: update typescript-eslint monorepo to v8.32.1 (#229) (6b8730e)
  • deps: update typescript-eslint monorepo to v8.33.0 (#260) (5e2bce3)
  • deps: update typescript-eslint monorepo to v8.33.1 (#273) (3cb0477)
  • deps: update typescript-eslint monorepo to v8.34.0 (#284) (783da01)
  • deps: update typescript-eslint monorepo to v8.34.1 (#299) (1bf315e)
  • deps: update typescript-eslint monorepo to v8.35.0 (#311) (7a45f44)
  • deps: update vitest monorepo to v3.1.2 (#187) (75f2a53)
  • deps: update vitest monorepo to v3.1.3 (#214) (7a6fc80)
  • deps: update vitest monorepo to v3.1.4 (#243) (7fb85cb)
  • deps: update vitest monorepo to v3.2.1 (#271) (e8ca23c)
  • deps: update vitest monorepo to v3.2.2 (#276) (df12564)
  • deps: update vitest monorepo to v3.2.3 (#283) (16b1df5)
  • deps: update vitest monorepo to v3.2.4 (#301) (222aeaf)

Bug Fixes

  • account test passes again (f8568f0)
  • account: /account/register finally works, forgot an await call (362152b)
  • account: /account/register finally works, forgot an await call (d138b6d)
  • account: fix checkPassword account model method so that it awaits (81e51a7)
  • account: fix read all accounts in account repository (111adb2)
  • account: working on restoring previous setup (e2372f6)
  • add cookie-parser to packages (91b99c0)
  • add functionality to landing tutorial button (7f5887a)
  • add grid shape to tutorial (5f7bf88)
  • add missing parenthesis (ea47a30)
  • add new username fetching to PVE matchmaking (a492739)
  • bot matches (aa5a786)
  • check if account is null (bc206c2)
  • client: correct endpoint request in login (ab08286)
  • client: remove redundant style in play view (d462ec5)
  • comment socket auth middleware as it is in a broken state (6739845)
  • correct cors in server for socket.io (cd74ab6)
  • cors: finally configure correctly cors policies (3e753e4)
  • delete duplicate file (7222cef)
  • findMatchesByPlayer should return a list of IDs, not the whole matches (b7e0652)
  • fix bug where matchmaking queue was not retrieving candidates in the db properly (d6bd47e)
  • fix bug where matchmaking queue was not saving candidates in the db properly (2667d5a)
  • fix heading problems in report for matchmaking (526be50)
  • fix heading problems in report for matchmaking (222a116)
  • fix infinite recursion on guest matchmaking (a0b669d)
  • fix matchmaking bug (4ebd209)
  • fix test for leaderboard service (8d496db)
  • fix tutorial image sizing issue (c767a00)
  • graphics: grains position (dimensions to be fixed) (6ba116b)
  • graphics: piles turn highlighting (8f23c36)
  • graphics: player1 conquered piles not changing color (0c0d2a1)
  • have opponent selection logic not match a player to itself (ac94963)
  • implement rating update service (6644774)
  • matchover: socketsLeave function (de76f1f)
  • matchService addMove behavior, refactor some tests (afc9d95)
  • minor bug fixes (5b2b154)
  • minor bugs (d872143)
  • minor formatting changes (e77a658)
  • minor warning in todo fixedf' (54103fb)
  • model: board toroidal behavior (27008bc)
  • navbar: improve dialog closing logic (a5879c0)
  • playbot: wrong pile owner (ac66e67)
  • prolog: engine timeout bug (f98c47c)
  • ratingDelta and matchHistory (3e51cf3)
  • remove players from queue when match is found (9ee9b32)
  • remove references to player as it is currently unfinished (f352788)
  • remove references to rating deviation and volatility (45da736)
  • remove unfinished player model (b71d60b)
  • server tests (fe78155)
  • server: addMove not updating database (5c1a929)
  • server: rooms handling between root and auth namespace (5db358b)
  • service: add missing awaits (9805620)
  • solve minor integration bugs (5fe5f5a)
  • solve node version conflicts with main (d5f1835)
  • solve prolog test reference bug (a0b6ab0)
  • solved errors from merge with incomplete feat/matchmaking (dcafe2a)
  • solved errors from merge with incomplete feat/matchmaking (01354ca)
  • solved errors from merge with incomplete feat/matchmaking (570c3dc)
  • solved errors from merge with incomplete feat/matchmaking (4c1347f)
  • started intergrating matchmaking with match feature (fc46044)
  • successfully integrate matchmaking and match parts (254b192)
  • temporary invert coordinates in bot getMove (5800b1d)
  • test: make match controller tests pass (5154816)
  • try to fix browser autofill style issue (not solved) (4bb4257)
  • types: correct type handling so that authenticated request work (8f8140c)
  • updated npm, removed old test files (e3a5f9c)
  • updated npm, removed old test files (e9f7bfb)
  • updated npm, removed old test files (bf89c84)
  • updated npm, removed old test files (dbf452c)
  • validation: move validation to each route middleware pipeline (313d2b4)
  • WIP: working on connecting client and server (792206c)

Documentation

  • account: update account api doc (c1e2861)
  • add a todo list (3c2fb34)
  • add account word to glossary (332bf9f)
  • add API chapter in report (278d01f)
  • add BoardState to UML (56e5f48)
  • add conclusions to report, minor additions (0c474e3)
  • add deployment section to report (703971c)
  • add doc file (bc57596)
  • add explanation to diagram (77ef497)
  • add future improvemnt in doc (5afff29)
  • add Game AI implementation description to report (5ff67b0)
  • add Game AI to report (552643e)
  • add how to convert mermaid in draw.io (d9a6567)
  • add link to docs in readme (8a84005)
  • add matchmaking algorithm to report (22fdf97)
  • add matchmaking api (1460e9c)
  • add matchmaking API (6cbfb4c)
  • add matchmaking API (15cec89)
  • add matchmaking API (624a174)
  • add matchmaking API (359cb74)
  • add matchmaking API (2080cf7)
  • add matchmaking API (fb367bd)
  • add matchmaking candidate to report uml (cee50cc)
  • add matchmaking server class diagram (7c310a8)
  • add matchmaking server class diagram (28d2892)
  • add matchmaking server class diagram (e542af9)
  • add matchmaking server class diagram (2489a39)
  • add matchmaking server class diagram (f40ffc1)
  • add matchmaking server class diagram (d20861a)
  • add pages flow chart (202df16)
  • add personas and scenarios to doc (f9c473a)
  • add rating system to report (cf35ae3)
  • add requirements (3042a31)
  • add requirements (83776ff)
  • add sequence diagram for matchmaking (ff839b2)
  • add sequence diagram for matchmaking (c29acaf)
  • add sequence diagram for matchmaking (d5ddb29)
  • add simple graph for frontend component dependencies (4043e08)
  • add table of contents. fix language typo (ae81dbf)
  • add todo comment (5788c98)
  • add todo to opponent selection logic (f827eb1)
  • add typedoc (2dfd67b)
  • add uml for Ciatto question (01197d3)
  • add unique username requirement (70c97bf)
  • added a remember to (f6e04fe)
  • added brainstorming for 240225 (6d78fd0)
  • added details on helmet security library (6994f1f)
  • added developer requirements (7d6dd53)
  • added mockups, frontend and backend architecture and some detailed design (355d262)
  • added mockups, frontend and backend architecture and some detailed design (f5e49b9)
  • added vue design sistem to consider (757385d)
  • api: create api doc (89d5e54)
  • apis: update match APIs (d8052a7)
  • arrange user stories (ace2723)
  • change mermaid graph to LR graph, add hexagonal architecture dependency graph, add some detailed domain (f627ffc)
  • client: add docs (fcb5268)
  • correct match APIs (7e859e4)
  • create a todo list (8b89cdb)
  • create usecase file (17c5ec8)
  • ddd: create context map (d82fa9f)
  • ddd: update the ubiquitous language (7a17e55)
  • design: add design overview (2e7718c)
  • docker: specify the necessity of creating the MongoDB root password file (5cbaab9)
  • fix typo (8bb9513)
  • match: delete content from match uml (41d5e04)
  • match: update and organize docs (0922971)
  • match: update and organize docs (23d7b94)
  • match: update and organize docs (80b3bed)
  • match: update and organize docs (c187673)
  • minor doc fix (d826f32)
  • minor doc fixes (25ee656)
  • minor doc fixes (4670c17)
  • minor doc fixes and added some future work (0cd6575)
  • minor fixes and additions to md files (c8cff49)
  • minor fixes to personas and scenarios (4290d4b)
  • minor typos, add implemented/not implemented to matchmaking features, add new matchmanking feature in report (47d40b9)
  • pagesflow: change name online -> ranked (f21c3fa)
  • remove useless todo doc and add mermaid 2 drawio doc (cb79cd6)
  • rename match queue to matchmaking queue (6830d8b)
  • replace glicko references with elo (2771ca2)
  • report: add graphs pngs and arrange report to work with pandoc (0b76f88)
  • report: rename mockups pngs (b8d68e1)
  • report: start working on context map on report (35a094e)
  • report: update report with devops infos (9924b5e)
  • set some todoes to done (d53356b)
  • typedoc: add some typedoc (2243856)
  • uml: change mongo db to database (d276a79)
  • uml: create architecture uml (19f7208)
  • uml: create sequence diagram for user registration and login (43c4fb1)
  • uml: edit pages flow (1afc3f2)
  • uml: update ciatto question with correct composition arrows directions (cb1a946)
  • uml: update match UML (39ca8a0)
  • uml: update match UML (54b0415)
  • uml: update pages flow (9aaf46f)
  • uml: update repositories structure (371a12c)
  • update general docs and arrange match part (9d69789)
  • update match and docker docs (3d9c2d9)
  • update matchmaking sequence diagram (4f64f3a)
  • update page flow design (58803b9)
  • update report (23e4c8d)
  • update report (c83032b)
  • update requirements, update rating system doc (0fcc16b)
  • updated doc with elo system, minor improvements to doc (a85dd16)
  • wip: write match docs (faa04a1)
  • write docs on simple websocket communication system (4975c9b)
  • write SPE part (42e8bfb)

Revert previous changes

  • account: not using session for now to achieve nvp faster (4612ad5)
  • account: revert account to not include password hashing logic (2b263b5)
  • account: revert once again to the rest api version of register endpoint (8327ff8)
  • correct error on registering on the db and correct tests too (ee4309f)
  • restore previous commit since using express is mandatory (e980aaa)
  • restore previous commit since using express is mandatory (25e6290)

Tests

  • account: add account repository tests (915796b)
  • account: add tests for account repository, still not passing (7349ddc)
  • account: complete account controller tests (7a54dae)
  • account: complete account model tests (4c0a15c)
  • account: complete account service tests (4b280a8)
  • account: test controller.login (48cb741)
  • account: test get account method (5a01084)
  • account: test login controller (edfb2dd)
  • account: test login service (18e2bd2)
  • account: test login service (85f224e)
  • account: update account repository tests (b6e3116)
  • account: update account service test (a0316ae)
  • account: update register tests with email (155265f)
  • account: update tests for login api (1fde868)
  • add rating to matchmaking candidate in test (5c651b0)
  • add test for default rating creation (eeb1014)
  • add test for matchmaking controller (76246cc)
  • add test for matchmaking queue repository (b1ab2f9)
  • add tests and minor error handling improvements (2acb1f9)
  • cell: write tests for cell model (10b74c3)
  • client: delete tests linked to template files (f69c0b4)
  • client: update client template tests so that they pass again (bf2b64e)
  • config: remove setup file in tests (unused) (c6a344a)
  • controller: add tests for account controller (30f0a93)
  • controller: improve tests completeness (41876f8)
  • controller: update tests accordingly (70f3411)
  • create test for connectDB function (dc16873)
  • delete match.test.ts since it was throwing error and its not related to this branch (e41c53b)
  • fix test error (ea094da)
  • fix test for db-connection (f8c8a3a)
  • improved coverege of player repository (0464a2a)
  • match: make tests pass (d3ab444)
  • middleware: add tests for validation handler middleware (d39fbeb)
  • middleware: correct middleware tests (c71d07b)
  • middleware: test authentication socket middleware (e47f47f)
  • middleware: test error and auth middlewares (cde16c4)
  • models: add tests for account model (e7a62af)
  • model: write tests for match and move model (261172f)
  • move error test to correct folder (6c477d8)
  • pile: write tests for pile model (b58d0be)
  • replate jest toThrowError (ca58afd)
  • repository: delete account repository tests (d31b59e)
  • repository: implement tests for matchRepository createMatch (c1a10c1)
  • repository: implement tests for matchRepository findMatch (8d25ee8)
  • rework tests adopting new socket logic (6ad74e2)
  • rewrite tests for match repository and match controller (993ddef)
  • server: create tests for delete account (e9e4b83)
  • server: fix match tests (57761c6)
  • server: write tests for match (640e998)
  • service: add test for account service (985a7bb)
  • service: implement tests for match service (b365056)
  • service: improve test coverage (ac28e4c)
  • update db-connection test (b047a0e)
  • update test for matchmaking controller (88c4ad4)
  • update tests after integration (9d7baa4)
  • utils: create mock-console test util (7a49ac9)
  • wip: working on account repository tests (7f421be)

Build and continuous integration

  • add explicit return types in linter configuration (1878d60)
  • compose: update docker compose so that it starts db image with mongo-init.js (d53a68c)
  • configure nginx for client (not finished yet) (059b9d0)
  • correct client dockerfile (123c291)
  • docker: create a init script for mongo (626a535)
  • docker: update check-env-file responsibility (3d17a80)
  • docker: working on setup db image startup (91cf288)
  • docker: working on setup db image startup (ba41c15)
  • docker: working on setup db image startup (d3cf815)
  • docker: working on setup db image startup (9fd0cf6)
  • docker: working on setup db image startup (7002753)
  • docker: working on setup db image startup (06ec55d)
  • docker: working on setup db image startup (e7dafec)
  • docker: working on setup db image startup (09bf99a)
  • docker: working on setup db image startup (c71c8e0)
  • docs: remove client typedoc generation (37acb8c)
  • fix: add a small fix for let tests work on windows (066224c)
  • revert to use nginx for client (83b5a48)
  • server: distinguish between dev, production and docker production modes in server (edee13b)
  • sonar: update sonar-project.properties to ignore client momentarily (2cc38c9)
  • start: add checks and dependencies to npm start commands (e259857)
  • task: update npm root tasks (da3cae1)
  • temporarely remove e2e tests from build automation pipeline (c698d59)
  • test: update client tests to not fail if no tests are found (de6417d)
  • typedoc: correct typedoc command in build (2414652)
  • typedoc: remove typedoc from root and move to server (38f0be7)
  • workspace: improve code-workspace (60b5eff)
  • workspace: improve code-workspace (da91041)

General maintenance

  • add .envrc to gitignore (b183d61)
  • add a comment in account model (0b3a0ea)
  • add binaries folder to gitignore (c438cf1)
  • add missing imports in tests (f2d56d9)
  • add pdf files to gitingore (37ad806)
  • add todo (ee4a4c3)
  • added security library and request body json parsing (049ba81)
  • backend: correct db connection to handle both docker and local scenarios (1e3fe72)
  • client: remove useless and debug code (5e13b2b)
  • client: remove useless code in App.vue (016dd9f)
  • config: add tsconfig in the project root (64365fe)
  • config: update jest config to ignore some files (43aa0b7)
  • controller: arrange functions order (2df6b65)
  • correct some errors leaved by the merge (38677ea)
  • correct typos in doc (89348cb)
  • create vscode workspace (68d0502)
  • docker: fix Docker Compose parameters and add MongoDB container (af7c760)
  • docker: update docker-compose.yml with correct volume path (cf6b67b)
  • docker: update how docker compose startup database (9e20a2a)
  • docker: update how docker compose startup database (1a6658c)
  • docker: update how docker compose startup database (668afaf)
  • docker: update how docker compose startup database (ccb97af)
  • docker: update how docker compose startup database (e6fab18)
  • docker: update how docker compose startup database (b5b77ca)
  • docker: update how docker compose startup database (8c2958d)
  • docker: update how docker compose startup database (35ba9ea)
  • docker: update how docker compose startup database (2efcdc6)
  • fix rebase conflict on app.ts (d112ddd)
  • fix rebase conflict on app.vue (30dac32)
  • fix rebase conflict on docker-compose (3659a8d)
  • fix rebase conflict on docker-compose (38d446b)
  • fix rebase conflict on package-lock (55ea229)
  • fix rebase conflict on package-lock (615aee6)
  • fix rebase conflict on package-lock (e493144)
  • fix rebase conflict on report (c2d2743)
  • graphics: adjust players cards dimension (faab63e)
  • ignore markdown lint no inline html rule for sub tag (710b83c)
  • make tests pass (8e7f5d8)
  • merge conflict solve in server package-lock.json (5bc9872)
  • merge conflict solve in server package.json (7f60892)
  • merge conflict solve in server package.json (67a8d1e)
  • merge conflict solve in server package.json (ad74ac2)
  • merge conflict solve in server package.json (c2c2bd9)
  • merge conflict solve in server package.json (6838a71)
  • merge conflict solve in server package.json (c0a4cb4)
  • merge conflict solve in server package.json (e97fd64)
  • merge feat/lboard with dev (df53189)
  • merge feat/spinner with dev (547fd56)
  • merge: remove typedoc from root package.json (88aa8f9)
  • merge: solve merge conflict in doc.md (65c80f6)
  • mongo: add commands and gitignore entry to properly handle MongoDB database directory (bf39ffe)
  • mongo: add readme with instructions to create the MongoDB password file (d1fd066)
  • mongodb: hide MongoDB logs (0721b8a)
  • now current player username is taken from userStore (4ad1ff0)
  • release: 0.3.0 [skip ci] (3f4e883)
  • release: 0.3.0 [skip ci] (bd4a856)
  • release: 0.3.0 [skip ci] (671dc52)
  • release: 0.3.0 [skip ci] (8efc27f)
  • release: 0.3.1 [skip ci] (d7d4819)
  • release: 0.3.2 [skip ci] (94cf36d)
  • remove axios as connection tool in client (5d7b88a)
  • remove console.logs (0ebe628)
  • remove index from impl and tests (coming from template) (565f166)
  • remove index.ts from server (2ed55f2)
  • remove pdf (79e37f0)
  • remove template files from frontend (2808da3)
  • remove unused deps in package.json (45c2b4c)
  • remove unused import (914119b)
  • server: set client ip for CORS policy (f8c6479)
  • server: update package lock (dce836f)
  • solve audit problems with client npm deps (88d214e)
  • solve conflicts (f15901b)
  • solve merge conflict in api.ts (b615bf5)
  • solve merge conflict in api.ts (fe8b870)
  • solve merge conflict in homeview (e3311f7)
  • solve merge conflict in index.ts (router) (04b0950)
  • solve merge conflict in landingview (f0f39fb)
  • solve merge conflict in package-lock (4760ced)
  • solve merge conflict in registrationview (7b3181d)
  • solve merge conflicts (03b6c65)
  • solve rebase conflicts in app.ts (ddb0b25)
  • solve rebase conflicts in app.ts (0aa2d64)
  • solve rebase conflicts in report (6d583a1)
  • solve rebase conflicts in report (a0fbb8e)
  • solve rebase conflicts in report (c454ac1)
  • solve rebase conflicts in report (f65dfff)
  • solve rebase conflicts in report (a1bf5be)
  • solve rebase conflicts in report (5c826cf)
  • solve rebase conflicts in report (f8e5b67)
  • solve rebase conflicts in report (6b06662)
  • solve rebase conflicts in report (e1a351a)
  • solve rebase conflicts in server app.ts (9f33c30)
  • solve rebase conflicts in server app.ts (20c7839)
  • solve rebase conflicts in server app.ts (9199df0)
  • solve rebase conflicts in server app.ts (81f090c)
  • solve rebase conflicts in server app.ts (6957cdc)
  • solve rebase conflicts in server app.ts (91deb88)
  • solve rebase conflicts in server app.ts (c219f0d)
  • solve rebase conflicts in server app.ts (577ab50)
  • solve rebase conflicts in server app.ts (0d90e7a)
  • solve rebase conflicts in server app.ts (dbee8db)
  • solve rebase conflicts in server app.ts (2cab0a5)
  • solve rebase conflicts in server package.json (dcd0493)
  • solve rebase conflicts in server package.json (dee51bb)
  • solve rebase conflicts in server package.json (af5477a)
  • solve rebase conflicts in server package.json (707d758)
  • solve rebase conflicts in server package.json (8168daf)
  • solve rebase conflicts in server package.json (d92c494)
  • solve rebase conflicts in server package.json (4de27d1)
  • solve rebase conflicts in server package.json (3355f03)
  • solve rebase conflicts in server report (d2a34bb)
  • solve rebase conflicts in server report (e8b01ef)
  • solve rebase conflicts in server report (d070191)
  • solve rebase conflicts in server report (2589878)
  • solve rebase conflicts in server report (75008b6)
  • solve rebase conflicts in server report (8ccc576)
  • solve rebase conflicts in server report (8f3163a)
  • test: improve coverage and clean match service code (10c0e17)
  • test: make tests pass and add tests (9c01dc6)
  • todo: update todo file (de7e259)
  • typo: correct a typo in docs (ba3e4ff)
  • update package lock (945fecd)
  • update package lock (480abdc)
  • update package-lock (079fc3d)
  • update package.json so that db is started in background (c46aa6e)
  • update todo (79b351e)
  • update todo (223e3b1)
  • update todo (7d4a750)
  • update todo (fa42ed3)
  • update todo (2ab74af)
  • wip: working on adhering to right socket.io conventions (like middlewares) (41a7831)
  • wip: working on starting db (9080ea7)
  • wip: working on starting db (bea5a7e)
  • wip: working on starting db (8f259c6)
  • wip: working on starting db (b686272)
  • wip: working on starting db (d0ed69b)
  • wip: working on starting db (928ae2b)
  • wip: working on starting db (eabf77d)
  • wip: working on starting db (5a6242c)
  • wip: working on starting db (01ac1b3)
  • wip: working on starting db (466cbe5)
  • wip: working on starting db (f40cfe2)
  • write docstring and edit test name (f7bd65e)

Style improvements

  • remove unused imports and exploit utils function (fdedf05)
  • test_utlis: add space to check-called (f3c8d88)

Refactoring

  • account: change account factory from methods to static class (7c84f43)
  • account: change factory method to "create" (3e071f2)
  • account: move password encryption logic from repository to model (d0539d8)
  • applied formatter to files (05dfdc6)
  • apply formatter to files (e195941)
  • cell: remove unused import in cell tests (24af84a)
  • change dates use for better testing (7a1912d)
  • change rating property from rating to value (e474003)
  • client: implement stores to organize code (7bb1679)
  • client: on MatchView (c8f5602)
  • client: remove match ID from page URL and set initial match turn (938a36e)
  • client: remove match ID from page URL and set initial match turn (fcb3269)
  • client: rename socket to server-connections providing also rest api connection (0cb079e)
  • client: rename socket to server-connections providing also rest api connection (52e2d0a)
  • controller: exploit new getAccount method in other account controller methods (aad8391)
  • docker: remove useless lines in docker-compose.yaml (3050c67)
  • docker: simplify Dockerfiles (632c5b8)
  • doc: remove unused and duplicated mockup images in res dir (5a4ef4a)
  • edit initial board state (8ea72b7)
  • extract repository test utility methods, refactor them into use in some tests (d23ca6d)
  • fix tests, remove console logs (4c3c9c7)
  • fixed formatting (5ac5b3a)
  • fixed formatting by running formatter on badly formatted files (a19d713)
  • graphics: better arrange match and board data in match view (e6593f1)
  • graphics: create images for grains visualization (2abe739)
  • graphics: improve MatchOver component (4daba7a)
  • improve file structure and naming conventions, add test for prolog engine (9ba7d6e)
  • improve function nameing (f67a988)
  • improve interface of matchmaking service (ef946e1)
  • improve matchmaking controller structure (93d903e)
  • improve matchmaking controller structure (6c74a0d)
  • improved code quality in repository tests (0400492)
  • improved code quality of check-called util functions (281ceab)
  • improved is valid match matchmaking algorithm (b8111c6)
  • improved log (76e7d1e)
  • imrove matchmaking service structure (c13e4b9)
  • let username checks not pass always in dev mode due to test (22b1a9e)
  • make prolog cells coordinates 0 indexed (e9482fa)
  • match and move objects scoping (ab6dda2)
  • merged player concept into account concept (3fd267d)
  • minor code quality improvement (e3f5cbb)
  • mock console in prolog engine and bot service tests (9c8ca9b)
  • model: edit default board configuration (208645d)
  • model: implement factories as static classes (3cf81eb)
  • move matchmaking service into matchmaking directory (5baafb1)
  • move navbar in a unique component (bf6cb03)
  • move password strength checks on its own service (e5955f6)
  • navbar: improve navbar buttons (64caf72)
  • remove debug console.logs (21d5410)
  • remove unreachable code (048d3f1)
  • remove unused function (62d4a6e)
  • remove unused function (f9300f3)
  • remove unused import (1129b73)
  • remove unused import (d273a03)
  • remove unused imports (6eae77e)
  • remove updateCandidate from candidate repository, remove rating from matchmaking candidate (c7ae5b6)
  • remove useless code and rearrange route and controller (86e7535)
  • remove useless comments (ef4fe6e)
  • remove useless template readme from client and server (295d667)
  • removed redundant line (3c05a6a)
  • rename opponent selection logic file to just logic (c6de39c)
  • rename test files (48397b0)
  • replace rating.rating with rating.value (f51ffc8)
  • repositories: implement MatchRepository class to avoid code repetition (f0a3de0)
  • repository: rename matchRepository in endedMatchRepository (9b4922c)
  • repository: unify match repositories behavior (3f60292)
  • server: improve code for addMove (a4fd061)
  • server: remove all cookie-parser reference in the server (d0d75ab)
  • server: remove useless index api from server (74b6f9a)
  • server: reworked registration API with new sockets style (378e8ab)
  • server: update cors logics in server (57294ac)
  • sockets: rename ended message to over and rewrite server-side addMove (9950f83)
  • test: separate match tests from move tests (a31c080)
  • test: use test utility function in match repository tests (30f00e0)
  • update matchmaking with async version of evaluate opponent match function (5c83f06)
  • use check-called util in player repository tests, improve check-called util (e161a6e)
  • work on improving repository class testing DRYness (ccfbfcf)
  • work on improving repository class testing DRYness (aaeb810)

0.3.0 (2025-06-30)

Features

  • account: add email to the params for register request (b29aa54)
  • account: add email validation in account model (2a9832f)
  • account: add GET /me api in account (986168b)
  • account: add jwt libs and configure it in the server sub project (2438528)
  • account: add register api with service, repo and model (6d64ff6)
  • account: add register api with service, repo and model (6c03a4e)
  • account: add the chance to change the email in the model (dae1fbc)
  • account: add username validation in account model (0c269cd)
  • account: change account login API uniqueness from email to username (untested) (fc39d4e)
  • account: create a landing and register page (93dd0a2)
  • account: create authentication middleware (ecc03a5)
  • account: create changeEmail socket event (4e37ad3)
  • account: create login api (f575934)
  • account: create logout api (c29d322)
  • account: now token is stored in cookies (ae9d73c)
  • account: working on invalidating old sessions (53c20cc)
  • account: working on retreiving correct value in account repository (2f99e7b)
  • add autentication middleware for sockets (a280d5b)
  • add base Player and Rating model (622b72d)
  • add base Player and Rating model (4a5669a)
  • add base Player and Rating model (ee76086)
  • add base Player and Rating model (34e6ad3)
  • add base Player and Rating model (c5d8f36)
  • add base Player and Rating model (7ef6d3a)
  • add current username retrieving in PlayView (b3d7b6e)
  • add default constructor to matchmakingCandidate (b656b1f)
  • add default kfactor in client rating service (642ca0f)
  • add distribute_grains to prolog program (1617543)
  • add equals to matchmaking candidate (471cf46)
  • add evaluate opponent match function (c2dd6f7)
  • add findAsync as an array extension method (e8ef5a7)
  • add findOpponentOrAddToQueue function (efaf32b)
  • add frontend matchmaking and minor fixes (f4e8e51)
  • add function to find matching opponent (31afa65)
  • add functionality to play button in play page (ef1b0f6)
  • add getCandidate to matchmaking queue repository (23827ac)
  • add getters for Rating properties (ee74fee)
  • add legal_moves to prolog program (7fa6f62)
  • add matchmaking algorithm (c4f52fd)
  • add matchmaking candidate model (c3e2bfe)
  • add matchmaking queue (5b5d7ae)
  • add matchmaking queue repository (0bfe5bc)
  • add matchmaking routine (d73946d)
  • add neighbors to prolog program (f489481)
  • add parameter to matchmaking queue factory (7bd9e0d)
  • add player repository (bc9a448)
  • add rating property to player model (1fce057)
  • add rating to matchmaking candidate (cbad60c)
  • add remove function to matchmaking queue (39075e7)
  • add requestMatchWithBot to socket options. implement matchmaking controller for request match with bot (bf867a7)
  • add rounding util implementation (67fbef7)
  • add screenshots to tutorial (bf6daa9)
  • add server side matchmaking base functionality (e36f0b0)
  • add simple disconnection handling (d5bfb9b)
  • add update_cell to prolog program (1686d65)
  • add valueOf to Rating to enable operator comparisons (c3971c7)
  • base loading spinner on matchmaking implemented (c1acb5f)
  • base styling implemnted to matchmaking page (64e91bd)
  • basic ai bot move service implemented (95f2e3e)
  • board: finish implementation of board (7303258)
  • board: implement game boarb and its components, and write tests for board (91f1314)
  • client: add ratings visualization (aa8129c)
  • client: begin completion of apis in PlayView (3cce121)
  • client: complete layout of profile (e98f3af)
  • client: complete login (no css) (8f36540)
  • client: complete registration (no css) (c192d43)
  • client: create basic ui to change profile name (afc402f)
  • client: create landing page (not responsive yet) (5744fa4)
  • client: create play screen (logics not added yet) (ebd8a4c)
  • client: implement auto login (9efe8bf)
  • client: implement client-side moves application (74b2217)
  • client: implement client-side winner message (fc9565b)
  • client: implement matchOver GUI inside MatchView (c55f07a)
  • client: implement missing elements in ProfileView (c6c4826)
  • client: implement move lock when the other user is moving (b8da8d8)
  • client: inject awesome icon into the codebase (1d8f464)
  • client: make board updating reactive (e783725)
  • client: setup delete account button (da4ed07)
  • complete functionalities binded to navbar (d395999)
  • complete navbar style (48b7484)
  • configure register with auth screen too (9b467e3)
  • continue implementation of match (cd2a1e6)
  • controller: implement addMove in match controller, with tests (979ec1a)
  • controller: implement deleteMatch in match controller, with tests (eb8c648)
  • controller: implement getMatch in match controller, with tests (e4e1903)
  • controller: implement getMatchesByPlayer in match controller, with tests (55d8349)
  • controller: implement room leaving on match end (c1b6aa6)
  • cors: add cors policy logic in app.ts (b63aea5)
  • create a ping pong conversation between client and server with sockets (49da69c)
  • create nav bar in play (6f7f794)
  • decomment all predicates (6ee07fe)
  • dialog: create a simple dialog component (39abdcf)
  • finish adding db population init (0ec7fc6)
  • finish styling login view (2786d3b)
  • graphics: add board buttons coloration (dc7e506)
  • graphics: add modal window for winner message (d2413c7)
  • graphics: create NavBar element and improve match interface (93f2d59)
  • graphics: implement buttons turn-based inactivation (9b292f0)
  • graphics: implement grains vue component (2be70e1)
  • graphics: implement player in match card and custom color theme (8534547)
  • graphics: implement responsive match page (591ee16)
  • graphics: partly implement board buttons view (7bdb8e0)
  • graphics: use MDBootstrap for match view (a2a1b8d)
  • implement base prolog engine (3ed4e3a)
  • implement client reconnection (16fd123)
  • implement client side leaderboard (a5341f4)
  • implement in progress match repository, with tests (ea69892)
  • implement leaderboard account info (cfa5bca)
  • implement leaderboard service (fd675ef)
  • implement rating api and rating service client side (f7f5598)
  • implement ratingDelta and last match in PlayView (7b82ee3)
  • implement simple startMatch interaction with sockets (cb63be2)
  • implement style on leaderboard (b47a72e)
  • implement tutorial page (4ff74c8)
  • implement updateRating (50091b7)
  • implemented comparison method in Rating model (b2bb24b)
  • improve doc comments of prolog program, improve board rappresentation, decomment topple_once (0d3791a)
  • improve guest matchmaking (48eb532)
  • improved coherence of matchmaking queue repository (d805804)
  • landing: update landing using mdb (0b2d3b9)
  • libs: add rate limit on production env and install cors lib (to be used) (8813efe)
  • made Player factory method static (64c5c5b)
  • made to array of matchmaking queue return correctly ordered array (6709c12)
  • make Rating factory method static (56bfbc5)
  • match: add initial board state to match structure (14a6d6a)
  • middleware: correct auth middleware (8247bad)
  • middleware: create validator middleware (185a1a6)
  • model: implement match.winner (e242f51)
  • mongoose: add initial state to match Mongoose schema (43a5b24)
  • now users can play multiple matches one after the other (6eb937c)
  • playbot: implement matches with bot (only in auth namespace) (0069a8a)
  • plug clients to server backend (fixes in mongoose were necessary) (3e57aa0)
  • profile: change email works in front end (8e11fe4)
  • profile: change from editing username to editing email in client (4658771)
  • profile: create path in the client to arrive to profile page (0fe1d63)
  • profile: improve error handling in email changing (2b9b8db)
  • profile: update email works in server (3089178)
  • rating: implement rating update on match over (877d28c)
  • remove higherThan method in rating model (ef705b1)
  • removed waitingTime from matchmaking queue candidate (77e8607)
  • replace Glicko with Elo ranking system (8e0a8e8)
  • repository: implement feature and some tests for matchRepository deleteMatch (d2b6408)
  • repository: implement feature and some tests for matchRepository updateMatch (10861c9)
  • rework login so it uses AuthScreen (c284274)
  • routes: add routes to match routes file (209314f)
  • saving: correct implementation of match end and implement match history (81b719f)
  • server: delete all unused dependencies and comment all lines that were using them (f14d556)
  • server: delete all unused dependencies and comment all lines that were using them (014e69d)
  • server: implement basic match model structure (eedca2d)
  • server: implement db connection attempts (c8faed0)
  • server: implement delete account api (c690e29)
  • server: update db connection so it uses default variables only in development (fa2c743)
  • service: implement and test matchService.deleteMatch (d0624aa)
  • socket: creating a standard way to use sockets (e13f0fe)
  • sockets: implement simple websocket communication system (b7cf49f)
  • sockets: implement simple websocket communication system (a2eef50)
  • sockets: implement simple websocket communication system (9d71478)
  • sockets: implement simple websocket communication system (e0cfa9c)
  • sockets: implement simple websocket communication system (f3f9c23)
  • sockets: implement simple websocket communication system (5f4b044)
  • style: improve button style (e63a781)
  • style: improve landing style (b9fd326)
  • theme: improve theme management in front end (23d4bdb)
  • update opponent selection logic algorithm to take in account time passed since request (b9944fc)
  • updated matchmaking service to reflect new matchmaking algorithm (161d4ee)
  • WIP: add client styling (cc134a1)
  • WIP: add guest user to db-init (eda6015)
  • WIP: add simple login page for testing (a3492a1)
  • wip: begin implementation of board moves processing (9768945)
  • wip: begin implementation of game board (8abec16)
  • wip: begin implementation of match (36d6b87)
  • wip: implement part of match features (72695ea)
  • WIP: work at updating the email (e5345b2)
  • WIP: work on adding logic to play view (17cc90e)
  • WIP: work on db setup population (0c79b3f)
  • WIP: work on socket auth middlware and routing implementation (d763677)
  • WIP: work on styling login (1bdcaba)
  • WIP: work on using changeEmail socket event in client (ce72709)
  • WIP: working on creating endpoint for email changing in server (e4e865c)
  • wip: working on generalizing from production context in api calls (FE) (b6df177)
  • WIP: working on integrating account and matchmaking (2262861)

Dependency updates

  • core-deps: update nginx docker tag to v1.28 (#339) (92fb097)
  • core-deps: update nginx docker tag to v1.29 (#340) (13ebcf6)
  • deps: add bcrypt to hash passwords (7851a82)
  • deps: add bcrypt to hash passwords (7b8589f)
  • deps: add bcrypt to hash passwords (b34fbc2)
  • deps: add bcrypt to hash passwords (3e23c04)
  • deps: add bcrypt to hash passwords (de00099)
  • deps: add bcrypt to hash passwords (01d3920)
  • deps: add express-validator to deps (8a81273)
  • deps: add express-validator to deps (0099ed5)
  • deps: add express-validator to deps (a58baec)
  • deps: add express-validator to deps (7acb7ad)
  • deps: add helmet to server (5de07fb)
  • deps: add helmet to server (ad74131)
  • deps: add helmet to server (fc37655)
  • deps: regenerate package-lock (38c69a6)
  • deps: remove helmet deps from the root package.json (1cb9940)
  • deps: update dependency @tsconfig/node22 to v22.0.2 (#246) (e390f57)
  • deps: update dependency @types/express to v5.0.2 (#240) (3c6d572)
  • deps: update dependency @types/express to v5.0.3 (#280) (c134d43)
  • deps: update dependency @types/http-errors to v2.0.5 (#281) (2b62c7e)
  • deps: update dependency @types/jest to v30 (#297) (0da86ca)
  • deps: update dependency @types/morgan to v1.9.10 (#282) (9eb280c)
  • deps: update dependency @types/node to v22.14.1 (#175) (3ead72b)
  • deps: update dependency @types/node to v22.14.1 (#176) (7f964b6)
  • deps: update dependency @types/node to v22.15.12 (#212) (623f143)
  • deps: update dependency @types/node to v22.15.12 (#213) (dd23d3f)
  • deps: update dependency @types/node to v22.15.14 (#216) (006cf2e)
  • deps: update dependency @types/node to v22.15.14 (#217) (9854cc4)
  • deps: update dependency @types/node to v22.15.15 (#220) (b576b56)
  • deps: update dependency @types/node to v22.15.15 (#221) (ed7d62b)
  • deps: update dependency @types/node to v22.15.16 (#222) (71747cf)
  • deps: update dependency @types/node to v22.15.16 (#223) (577f0ca)
  • deps: update dependency @types/node to v22.15.17 (#224) (b816d09)
  • deps: update dependency @types/node to v22.15.17 (#225) (421ec60)
  • deps: update dependency @types/node to v22.15.18 (#232) (91dc1d2)
  • deps: update dependency @types/node to v22.15.19 (#241) (77e98dc)
  • deps: update dependency @types/node to v22.15.19 (#242) (eac3421)
  • deps: update dependency @types/node to v22.15.2 (#196) (83037d5)
  • deps: update dependency @types/node to v22.15.2 (#197) (f300e1d)
  • deps: update dependency @types/node to v22.15.20 (#249) (1b82617)
  • deps: update dependency @types/node to v22.15.21 (#248) (8f26a85)
  • deps: update dependency @types/node to v22.15.21 (#252) (5e42412)
  • deps: update dependency @types/node to v22.15.23 (#258) (7c21561)
  • deps: update dependency @types/node to v22.15.23 (#259) (78e1c83)
  • deps: update dependency @types/node to v22.15.24 (#261) (4a1deda)
  • deps: update dependency @types/node to v22.15.24 (#262) (f1cf296)
  • deps: update dependency @types/node to v22.15.27 (#266) (906bd52)
  • deps: update dependency @types/node to v22.15.27 (#267) (2ebe1da)
  • deps: update dependency @types/node to v22.15.29 (#268) (b94cb02)
  • deps: update dependency @types/node to v22.15.29 (#269) (1fe6122)
  • deps: update dependency @types/node to v22.15.3 (#200) (351cc3f)
  • deps: update dependency @types/node to v22.15.3 (#201) (2c9ed94)
  • deps: update dependency @types/node to v22.15.30 (#277) (597edfd)
  • deps: update dependency @types/node to v22.15.30 (#278) (f841534)
  • deps: update dependency @types/node to v22.15.31 (#285) (894d38c)
  • deps: update dependency @types/node to v22.15.31 (#286) (d6e7068)
  • deps: update dependency @types/node to v22.15.32 (#295) (54b9cb3)
  • deps: update dependency @types/node to v22.15.32 (#296) (8018479)
  • deps: update dependency @types/node to v22.15.33 (#316) (0128e07)
  • deps: update dependency @types/node to v22.15.33 (#317) (e9788b4)
  • deps: update dependency @vitejs/plugin-vue to v5.2.4 (#227) (630d4b5)
  • deps: update dependency @vitejs/plugin-vue to v6 (#313) (5cc690b)
  • deps: update dependency @vitejs/plugin-vue-jsx to v4.2.0 (#247) (eff8804)
  • deps: update dependency @vitejs/plugin-vue-jsx to v5 (#314) (86338dc)
  • deps: update dependency @vitest/eslint-plugin to v1.1.40 (#169) (93503fa)
  • deps: update dependency @vitest/eslint-plugin to v1.1.42 (#174) (bc529d0)
  • deps: update dependency @vitest/eslint-plugin to v1.1.43 (#184) (caf62e5)
  • deps: update dependency @vitest/eslint-plugin to v1.1.44 (#208) (b244dc9)
  • deps: update dependency @vitest/eslint-plugin to v1.2.0 (#236) (73077bf)
  • deps: update dependency @vitest/eslint-plugin to v1.2.1 (#254) (eef836c)
  • deps: update dependency @vitest/eslint-plugin to v1.2.2 (#288) (99e068e)
  • deps: update dependency @vitest/eslint-plugin to v1.2.3 (#290) (2ae32b7)
  • deps: update dependency @vitest/eslint-plugin to v1.2.4 (#291) (e482356)
  • deps: update dependency @vitest/eslint-plugin to v1.2.5 (#293) (be14ebe)
  • deps: update dependency @vitest/eslint-plugin to v1.2.7 (#298) (56ca09b)
  • deps: update dependency @vitest/eslint-plugin to v1.3.3 (#358) (ddd3360)
  • deps: update dependency @vue/eslint-config-typescript to v14.5.1 (#300) (e896ac8)
  • deps: update dependency concurrently to v9.2.0 (#307) (32d682d)
  • deps: update dependency concurrently to v9.2.0 (#308) (0dda3f8)
  • deps: update dependency cypress to v14.3.0 (#168) (98aefb0)
  • deps: update dependency cypress to v14.3.1 (#183) (ef0395d)
  • deps: update dependency cypress to v14.3.2 (#193) (ea1de73)
  • deps: update dependency cypress to v14.3.3 (#218) (49f3eba)
  • deps: update dependency cypress to v14.4.0 (#251) (fe5da7f)
  • deps: update dependency cypress to v14.4.1 (#272) (eb7dc35)
  • deps: update dependency cypress to v14.5.0 (#302) (e40358d)
  • deps: update dependency eslint to v9.25.0 (#186) (d8be8b8)
  • deps: update dependency eslint to v9.25.1 (#188) (cd131af)
  • deps: update dependency eslint to v9.26.0 (#209) (d796418)
  • deps: update dependency eslint to v9.27.0 (#239) (d3ff240)
  • deps: update dependency eslint to v9.28.0 (#270) (e142e2b)
  • deps: update dependency eslint to v9.29.0 (#292) (581bdbf)
  • deps: update dependency eslint-config-prettier to v10.1.2 (#173) (ea04b1a)
  • deps: update dependency eslint-config-prettier to v10.1.3 (#219) (1345403)
  • deps: update dependency eslint-config-prettier to v10.1.5 (#226) (eabf7db)
  • deps: update dependency eslint-plugin-cypress to v4.2.1 (#170) (d8e1fd8)
  • deps: update dependency eslint-plugin-cypress to v4.3.0 (#192) (f43ef7d)
  • deps: update dependency eslint-plugin-cypress to v5 (#265) (5eedde9)
  • deps: update dependency eslint-plugin-cypress to v5.1.0 (#274) (a80b9c4)
  • deps: update dependency eslint-plugin-import to v2.32.0 (#306) (b7fdeac)
  • deps: update dependency eslint-plugin-vue to v10.0.1 (#205) (e063dab)
  • deps: update dependency eslint-plugin-vue to v10.1.0 (#207) (cdaa945)
  • deps: update dependency eslint-plugin-vue to v10.2.0 (#279) (68f325e)
  • deps: update dependency font-awesome to v6.1.2 (#345) (762fcd1)
  • deps: update dependency jest to v30 (#287) (a2b08ae)
  • deps: update dependency jest to v30.0.1 (#304) (8e65a25)
  • deps: update dependency jest to v30.0.2 (#305) (a914e4f)
  • deps: update dependency jest to v30.0.3 (#318) (d43ffa7)
  • deps: update dependency jsdom to v26.1.0 (#178) (abd1a83)
  • deps: update dependency nodemon to v3.1.10 (#194) (ca158ff)
  • deps: update dependency npm-run-all2 to v8 (#210) (c05481b)
  • deps: update dependency npm-run-all2 to v8.0.2 (#237) (27a3a48)
  • deps: update dependency npm-run-all2 to v8.0.3 (#250) (cfbd049)
  • deps: update dependency npm-run-all2 to v8.0.4 (#255) (c89ce8c)
  • deps: update dependency pinia to v3.0.2 (#171) (9e44a24)
  • deps: update dependency pinia to v3.0.3 (#275) (d4cb7db)
  • deps: update dependency prettier to v3.6.0 (#309) (4ed1485)
  • deps: update dependency prettier to v3.6.0 (#310) (cd793cf)
  • deps: update dependency prettier to v3.6.1 (#319) (1911a81)
  • deps: update dependency prettier to v3.6.1 (#320) (d8a98c8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.126 (#198) (592e84f)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.127 (#204) (0032579)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.128 (#230) (6a17d4b)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.129 (#244) (a99ebbf)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.131 (#253) (0f9fe2c)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.132 (#257) (91caba8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.133 (#263) (355f1ab)
  • deps: update dependency start-server-and-test to v2.0.12 (#235) (16c53f5)
  • deps: update dependency supertest to v7.1.1 (#228) (2406b17)
  • deps: update dependency ts-jest to v29.3.2 (#177) (864c7c3)
  • deps: update dependency ts-jest to v29.3.3 (#233) (ae2218a)
  • deps: update dependency ts-jest to v29.3.4 (#238) (3f333cd)
  • deps: update dependency ts-jest to v29.4.0 (#289) (ee0dffc)
  • deps: update dependency vite to v6.2.6 (#172) (7210ea1)
  • deps: update dependency vite to v6.3.0 (#180) (07145b1)
  • deps: update dependency vite to v6.3.1 (#182) (d2644b5)
  • deps: update dependency vite to v6.3.2 (#185) (07147dc)
  • deps: update dependency vite to v6.3.3 (#195) (6fa4247)
  • deps: update dependency vite to v6.3.4 (#206) (5e91f51)
  • deps: update dependency vite to v6.3.5 (#211) (dd9f0f0)
  • deps: update dependency vite to v7 (#315) (bbc54b7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.5 (#181) (c0183f7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.6 (#202) (b34741d)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.7 (#294) (ec4d29c)
  • deps: update dependency vue to v3.5.14 (#234) (296feed)
  • deps: update dependency vue to v3.5.15 (#256) (35227fb)
  • deps: update dependency vue to v3.5.16 (#264) (6a29c37)
  • deps: update dependency vue to v3.5.17 (#303) (f750519)
  • deps: update dependency vue-router to v4.5.1 (#199) (d708109)
  • deps: update dependency vue-tsc to v2.2.10 (#191) (10faf00)
  • deps: update jest (2494996)
  • deps: update jest (88e1dd1)
  • deps: update jest (40b55a4)
  • deps: update jest (6558b57)
  • deps: update jest (3c177b0)
  • deps: update jest (37b7f08)
  • deps: update jest (a799bad)
  • deps: update jest (ac662cb)
  • deps: update node.js to >=20.0.0 <=22.15.0 (#190) (2f63bce)
  • deps: update node.js to >=20.0.0 <=22.15.1 (#231) (8b7c8fa)
  • deps: update node.js to >=20.0.0 <=22.16.0 (#245) (0ca5297)
  • deps: update node.js to >=20.0.0 <=22.17.0 (#312) (ee1a247)
  • deps: update typescript-eslint monorepo to v8.29.1 (#167) (8de8d8e)
  • deps: update typescript-eslint monorepo to v8.30.1 (#179) (0f22c6d)
  • deps: update typescript-eslint monorepo to v8.31.0 (#189) (4525001)
  • deps: update typescript-eslint monorepo to v8.31.1 (#203) (6e2d121)
  • deps: update typescript-eslint monorepo to v8.32.0 (#215) (c41ddb1)
  • deps: update typescript-eslint monorepo to v8.32.1 (#229) (6b8730e)
  • deps: update typescript-eslint monorepo to v8.33.0 (#260) (5e2bce3)
  • deps: update typescript-eslint monorepo to v8.33.1 (#273) (3cb0477)
  • deps: update typescript-eslint monorepo to v8.34.0 (#284) (783da01)
  • deps: update typescript-eslint monorepo to v8.34.1 (#299) (1bf315e)
  • deps: update typescript-eslint monorepo to v8.35.0 (#311) (7a45f44)
  • deps: update vitest monorepo to v3.1.2 (#187) (75f2a53)
  • deps: update vitest monorepo to v3.1.3 (#214) (7a6fc80)
  • deps: update vitest monorepo to v3.1.4 (#243) (7fb85cb)
  • deps: update vitest monorepo to v3.2.1 (#271) (e8ca23c)
  • deps: update vitest monorepo to v3.2.2 (#276) (df12564)
  • deps: update vitest monorepo to v3.2.3 (#283) (16b1df5)
  • deps: update vitest monorepo to v3.2.4 (#301) (222aeaf)

Bug Fixes

  • account test passes again (f8568f0)
  • account: /account/register finally works, forgot an await call (362152b)
  • account: /account/register finally works, forgot an await call (d138b6d)
  • account: fix checkPassword account model method so that it awaits (81e51a7)
  • account: fix read all accounts in account repository (111adb2)
  • account: working on restoring previous setup (e2372f6)
  • add cookie-parser to packages (91b99c0)
  • add functionality to landing tutorial button (7f5887a)
  • add grid shape to tutorial (5f7bf88)
  • add missing parenthesis (ea47a30)
  • add new username fetching to PVE matchmaking (a492739)
  • bot matches (aa5a786)
  • check if account is null (bc206c2)
  • client: correct endpoint request in login (ab08286)
  • client: remove redundant style in play view (d462ec5)
  • comment socket auth middleware as it is in a broken state (6739845)
  • correct cors in server for socket.io (cd74ab6)
  • cors: finally configure correctly cors policies (3e753e4)
  • delete duplicate file (7222cef)
  • findMatchesByPlayer should return a list of IDs, not the whole matches (b7e0652)
  • fix bug where matchmaking queue was not retrieving candidates in the db properly (d6bd47e)
  • fix bug where matchmaking queue was not saving candidates in the db properly (2667d5a)
  • fix heading problems in report for matchmaking (526be50)
  • fix heading problems in report for matchmaking (222a116)
  • fix infinite recursion on guest matchmaking (a0b669d)
  • fix matchmaking bug (4ebd209)
  • fix test for leaderboard service (8d496db)
  • fix tutorial image sizing issue (c767a00)
  • graphics: grains position (dimensions to be fixed) (6ba116b)
  • graphics: piles turn highlighting (8f23c36)
  • graphics: player1 conquered piles not changing color (0c0d2a1)
  • have opponent selection logic not match a player to itself (ac94963)
  • implement rating update service (6644774)
  • matchover: socketsLeave function (de76f1f)
  • matchService addMove behavior, refactor some tests (afc9d95)
  • minor bug fixes (5b2b154)
  • minor bugs (d872143)
  • minor formatting changes (e77a658)
  • minor warning in todo fixedf' (54103fb)
  • model: board toroidal behavior (27008bc)
  • navbar: improve dialog closing logic (a5879c0)
  • playbot: wrong pile owner (ac66e67)
  • prolog: engine timeout bug (f98c47c)
  • ratingDelta and matchHistory (3e51cf3)
  • remove players from queue when match is found (9ee9b32)
  • remove references to player as it is currently unfinished (f352788)
  • remove references to rating deviation and volatility (45da736)
  • remove unfinished player model (b71d60b)
  • server tests (fe78155)
  • server: addMove not updating database (5c1a929)
  • server: rooms handling between root and auth namespace (5db358b)
  • service: add missing awaits (9805620)
  • solve minor integration bugs (5fe5f5a)
  • solve node version conflicts with main (d5f1835)
  • solve prolog test reference bug (a0b6ab0)
  • solved errors from merge with incomplete feat/matchmaking (dcafe2a)
  • solved errors from merge with incomplete feat/matchmaking (01354ca)
  • solved errors from merge with incomplete feat/matchmaking (570c3dc)
  • solved errors from merge with incomplete feat/matchmaking (4c1347f)
  • started intergrating matchmaking with match feature (fc46044)
  • successfully integrate matchmaking and match parts (254b192)
  • temporary invert coordinates in bot getMove (5800b1d)
  • test: make match controller tests pass (5154816)
  • try to fix browser autofill style issue (not solved) (4bb4257)
  • types: correct type handling so that authenticated request work (8f8140c)
  • updated npm, removed old test files (e3a5f9c)
  • updated npm, removed old test files (e9f7bfb)
  • updated npm, removed old test files (bf89c84)
  • updated npm, removed old test files (dbf452c)
  • validation: move validation to each route middleware pipeline (313d2b4)
  • WIP: working on connecting client and server (792206c)

Documentation

  • account: update account api doc (c1e2861)
  • add a todo list (3c2fb34)
  • add account word to glossary (332bf9f)
  • add API chapter in report (278d01f)
  • add BoardState to UML (56e5f48)
  • add conclusions to report, minor additions (0c474e3)
  • add deployment section to report (703971c)
  • add doc file (bc57596)
  • add explanation to diagram (77ef497)
  • add future improvemnt in doc (5afff29)
  • add Game AI implementation description to report (5ff67b0)
  • add Game AI to report (552643e)
  • add how to convert mermaid in draw.io (d9a6567)
  • add link to docs in readme (8a84005)
  • add matchmaking algorithm to report (22fdf97)
  • add matchmaking api (1460e9c)
  • add matchmaking API (6cbfb4c)
  • add matchmaking API (15cec89)
  • add matchmaking API (624a174)
  • add matchmaking API (359cb74)
  • add matchmaking API (2080cf7)
  • add matchmaking API (fb367bd)
  • add matchmaking candidate to report uml (cee50cc)
  • add matchmaking server class diagram (7c310a8)
  • add matchmaking server class diagram (28d2892)
  • add matchmaking server class diagram (e542af9)
  • add matchmaking server class diagram (2489a39)
  • add matchmaking server class diagram (f40ffc1)
  • add matchmaking server class diagram (d20861a)
  • add pages flow chart (202df16)
  • add personas and scenarios to doc (f9c473a)
  • add rating system to report (cf35ae3)
  • add requirements (3042a31)
  • add requirements (83776ff)
  • add sequence diagram for matchmaking (ff839b2)
  • add sequence diagram for matchmaking (c29acaf)
  • add sequence diagram for matchmaking (d5ddb29)
  • add simple graph for frontend component dependencies (4043e08)
  • add table of contents. fix language typo (ae81dbf)
  • add todo comment (5788c98)
  • add todo to opponent selection logic (f827eb1)
  • add typedoc (2dfd67b)
  • add uml for Ciatto question (01197d3)
  • add unique username requirement (70c97bf)
  • added a remember to (f6e04fe)
  • added brainstorming for 240225 (6d78fd0)
  • added details on helmet security library (6994f1f)
  • added developer requirements (7d6dd53)
  • added mockups, frontend and backend architecture and some detailed design (355d262)
  • added mockups, frontend and backend architecture and some detailed design (f5e49b9)
  • added vue design sistem to consider (757385d)
  • api: create api doc (89d5e54)
  • apis: update match APIs (d8052a7)
  • arrange user stories (ace2723)
  • change mermaid graph to LR graph, add hexagonal architecture dependency graph, add some detailed domain (f627ffc)
  • client: add docs (fcb5268)
  • correct match APIs (7e859e4)
  • create a todo list (8b89cdb)
  • create usecase file (17c5ec8)
  • ddd: create context map (d82fa9f)
  • ddd: update the ubiquitous language (7a17e55)
  • design: add design overview (2e7718c)
  • docker: specify the necessity of creating the MongoDB root password file (5cbaab9)
  • fix typo (8bb9513)
  • match: delete content from match uml (41d5e04)
  • match: update and organize docs (0922971)
  • match: update and organize docs (23d7b94)
  • match: update and organize docs (80b3bed)
  • match: update and organize docs (c187673)
  • minor doc fix (d826f32)
  • minor doc fixes (25ee656)
  • minor doc fixes (4670c17)
  • minor doc fixes and added some future work (0cd6575)
  • minor fixes and additions to md files (c8cff49)
  • minor fixes to personas and scenarios (4290d4b)
  • minor typos, add implemented/not implemented to matchmaking features, add new matchmanking feature in report (47d40b9)
  • pagesflow: change name online -> ranked (f21c3fa)
  • remove useless todo doc and add mermaid 2 drawio doc (cb79cd6)
  • rename match queue to matchmaking queue (6830d8b)
  • replace glicko references with elo (2771ca2)
  • report: add graphs pngs and arrange report to work with pandoc (0b76f88)
  • report: rename mockups pngs (b8d68e1)
  • report: start working on context map on report (35a094e)
  • report: update report with devops infos (9924b5e)
  • set some todoes to done (d53356b)
  • typedoc: add some typedoc (2243856)
  • uml: change mongo db to database (d276a79)
  • uml: create architecture uml (19f7208)
  • uml: create sequence diagram for user registration and login (43c4fb1)
  • uml: edit pages flow (1afc3f2)
  • uml: update ciatto question with correct composition arrows directions (cb1a946)
  • uml: update match UML (39ca8a0)
  • uml: update match UML (54b0415)
  • uml: update pages flow (9aaf46f)
  • uml: update repositories structure (371a12c)
  • update general docs and arrange match part (9d69789)
  • update match and docker docs (3d9c2d9)
  • update matchmaking sequence diagram (4f64f3a)
  • update page flow design (58803b9)
  • update report (23e4c8d)
  • update report (c83032b)
  • update requirements, update rating system doc (0fcc16b)
  • updated doc with elo system, minor improvements to doc (a85dd16)
  • wip: write match docs (faa04a1)
  • write docs on simple websocket communication system (4975c9b)
  • write SPE part (42e8bfb)

Revert previous changes

  • account: not using session for now to achieve nvp faster (4612ad5)
  • account: revert account to not include password hashing logic (2b263b5)
  • account: revert once again to the rest api version of register endpoint (8327ff8)
  • correct error on registering on the db and correct tests too (ee4309f)
  • restore previous commit since using express is mandatory (e980aaa)
  • restore previous commit since using express is mandatory (25e6290)

Tests

  • account: add account repository tests (915796b)
  • account: add tests for account repository, still not passing (7349ddc)
  • account: complete account controller tests (7a54dae)
  • account: complete account model tests (4c0a15c)
  • account: complete account service tests (4b280a8)
  • account: test controller.login (48cb741)
  • account: test get account method (5a01084)
  • account: test login controller (edfb2dd)
  • account: test login service (18e2bd2)
  • account: test login service (85f224e)
  • account: update account repository tests (b6e3116)
  • account: update account service test (a0316ae)
  • account: update register tests with email (155265f)
  • account: update tests for login api (1fde868)
  • add rating to matchmaking candidate in test (5c651b0)
  • add test for default rating creation (eeb1014)
  • add test for matchmaking controller (76246cc)
  • add test for matchmaking queue repository (b1ab2f9)
  • add tests and minor error handling improvements (2acb1f9)
  • cell: write tests for cell model (10b74c3)
  • client: delete tests linked to template files (f69c0b4)
  • client: update client template tests so that they pass again (bf2b64e)
  • config: remove setup file in tests (unused) (c6a344a)
  • controller: add tests for account controller (30f0a93)
  • controller: improve tests completeness (41876f8)
  • controller: update tests accordingly (70f3411)
  • create test for connectDB function (dc16873)
  • delete match.test.ts since it was throwing error and its not related to this branch (e41c53b)
  • fix test error (ea094da)
  • fix test for db-connection (f8c8a3a)
  • improved coverege of player repository (0464a2a)
  • match: make tests pass (d3ab444)
  • middleware: add tests for validation handler middleware (d39fbeb)
  • middleware: correct middleware tests (c71d07b)
  • middleware: test authentication socket middleware (e47f47f)
  • middleware: test error and auth middlewares (cde16c4)
  • models: add tests for account model (e7a62af)
  • model: write tests for match and move model (261172f)
  • move error test to correct folder (6c477d8)
  • pile: write tests for pile model (b58d0be)
  • replate jest toThrowError (ca58afd)
  • repository: delete account repository tests (d31b59e)
  • repository: implement tests for matchRepository createMatch (c1a10c1)
  • repository: implement tests for matchRepository findMatch (8d25ee8)
  • rework tests adopting new socket logic (6ad74e2)
  • rewrite tests for match repository and match controller (993ddef)
  • server: create tests for delete account (e9e4b83)
  • server: fix match tests (57761c6)
  • server: write tests for match (640e998)
  • service: add test for account service (985a7bb)
  • service: implement tests for match service (b365056)
  • service: improve test coverage (ac28e4c)
  • update db-connection test (b047a0e)
  • update test for matchmaking controller (88c4ad4)
  • update tests after integration (9d7baa4)
  • utils: create mock-console test util (7a49ac9)
  • wip: working on account repository tests (7f421be)

Build and continuous integration

  • add explicit return types in linter configuration (1878d60)
  • compose: update docker compose so that it starts db image with mongo-init.js (d53a68c)
  • configure nginx for client (not finished yet) (059b9d0)
  • correct client dockerfile (123c291)
  • docker: create a init script for mongo (626a535)
  • docker: update check-env-file responsibility (3d17a80)
  • docker: working on setup db image startup (91cf288)
  • docker: working on setup db image startup (ba41c15)
  • docker: working on setup db image startup (d3cf815)
  • docker: working on setup db image startup (9fd0cf6)
  • docker: working on setup db image startup (7002753)
  • docker: working on setup db image startup (06ec55d)
  • docker: working on setup db image startup (e7dafec)
  • docker: working on setup db image startup (09bf99a)
  • docker: working on setup db image startup (c71c8e0)
  • docs: remove client typedoc generation (37acb8c)
  • fix: add a small fix for let tests work on windows (066224c)
  • revert to use nginx for client (83b5a48)
  • server: distinguish between dev, production and docker production modes in server (edee13b)
  • sonar: update sonar-project.properties to ignore client momentarily (2cc38c9)
  • start: add checks and dependencies to npm start commands (e259857)
  • task: update npm root tasks (da3cae1)
  • temporarely remove e2e tests from build automation pipeline (c698d59)
  • test: update client tests to not fail if no tests are found (de6417d)
  • typedoc: correct typedoc command in build (2414652)
  • typedoc: remove typedoc from root and move to server (38f0be7)
  • workspace: improve code-workspace (60b5eff)
  • workspace: improve code-workspace (da91041)

General maintenance

  • add .envrc to gitignore (b183d61)
  • add a comment in account model (0b3a0ea)
  • add binaries folder to gitignore (c438cf1)
  • add missing imports in tests (f2d56d9)
  • add pdf files to gitingore (37ad806)
  • add todo (ee4a4c3)
  • added security library and request body json parsing (049ba81)
  • backend: correct db connection to handle both docker and local scenarios (1e3fe72)
  • client: remove useless and debug code (5e13b2b)
  • client: remove useless code in App.vue (016dd9f)
  • config: add tsconfig in the project root (64365fe)
  • config: update jest config to ignore some files (43aa0b7)
  • controller: arrange functions order (2df6b65)
  • correct some errors leaved by the merge (38677ea)
  • correct typos in doc (89348cb)
  • create vscode workspace (68d0502)
  • docker: fix Docker Compose parameters and add MongoDB container (af7c760)
  • docker: update docker-compose.yml with correct volume path (cf6b67b)
  • docker: update how docker compose startup database (9e20a2a)
  • docker: update how docker compose startup database (1a6658c)
  • docker: update how docker compose startup database (668afaf)
  • docker: update how docker compose startup database (ccb97af)
  • docker: update how docker compose startup database (e6fab18)
  • docker: update how docker compose startup database (b5b77ca)
  • docker: update how docker compose startup database (8c2958d)
  • docker: update how docker compose startup database (35ba9ea)
  • docker: update how docker compose startup database (2efcdc6)
  • fix rebase conflict on app.ts (d112ddd)
  • fix rebase conflict on app.vue (30dac32)
  • fix rebase conflict on docker-compose (3659a8d)
  • fix rebase conflict on docker-compose (38d446b)
  • fix rebase conflict on package-lock (55ea229)
  • fix rebase conflict on package-lock (615aee6)
  • fix rebase conflict on package-lock (e493144)
  • fix rebase conflict on report (c2d2743)
  • graphics: adjust players cards dimension (faab63e)
  • ignore markdown lint no inline html rule for sub tag (710b83c)
  • make tests pass (8e7f5d8)
  • merge conflict solve in server package-lock.json (5bc9872)
  • merge conflict solve in server package.json (7f60892)
  • merge conflict solve in server package.json (67a8d1e)
  • merge conflict solve in server package.json (ad74ac2)
  • merge conflict solve in server package.json (c2c2bd9)
  • merge conflict solve in server package.json (6838a71)
  • merge conflict solve in server package.json (c0a4cb4)
  • merge conflict solve in server package.json (e97fd64)
  • merge feat/lboard with dev (df53189)
  • merge feat/spinner with dev (547fd56)
  • merge: remove typedoc from root package.json (88aa8f9)
  • merge: solve merge conflict in doc.md (65c80f6)
  • mongo: add commands and gitignore entry to properly handle MongoDB database directory (bf39ffe)
  • mongo: add readme with instructions to create the MongoDB password file (d1fd066)
  • mongodb: hide MongoDB logs (0721b8a)
  • now current player username is taken from userStore (4ad1ff0)
  • release: 0.3.0 [skip ci] (bd4a856)
  • release: 0.3.0 [skip ci] (671dc52)
  • release: 0.3.0 [skip ci] (8efc27f)
  • release: 0.3.1 [skip ci] (d7d4819)
  • release: 0.3.2 [skip ci] (94cf36d)
  • remove axios as connection tool in client (5d7b88a)
  • remove console.logs (0ebe628)
  • remove index from impl and tests (coming from template) (565f166)
  • remove index.ts from server (2ed55f2)
  • remove pdf (79e37f0)
  • remove template files from frontend (2808da3)
  • remove unused deps in package.json (45c2b4c)
  • remove unused import (914119b)
  • server: set client ip for CORS policy (f8c6479)
  • server: update package lock (dce836f)
  • solve audit problems with client npm deps (88d214e)
  • solve conflicts (f15901b)
  • solve merge conflict in api.ts (b615bf5)
  • solve merge conflict in api.ts (fe8b870)
  • solve merge conflict in homeview (e3311f7)
  • solve merge conflict in index.ts (router) (04b0950)
  • solve merge conflict in landingview (f0f39fb)
  • solve merge conflict in package-lock (4760ced)
  • solve merge conflict in registrationview (7b3181d)
  • solve merge conflicts (03b6c65)
  • solve rebase conflicts in app.ts (ddb0b25)
  • solve rebase conflicts in app.ts (0aa2d64)
  • solve rebase conflicts in report (6d583a1)
  • solve rebase conflicts in report (a0fbb8e)
  • solve rebase conflicts in report (c454ac1)
  • solve rebase conflicts in report (f65dfff)
  • solve rebase conflicts in report (a1bf5be)
  • solve rebase conflicts in report (5c826cf)
  • solve rebase conflicts in report (f8e5b67)
  • solve rebase conflicts in report (6b06662)
  • solve rebase conflicts in report (e1a351a)
  • solve rebase conflicts in server app.ts (9f33c30)
  • solve rebase conflicts in server app.ts (20c7839)
  • solve rebase conflicts in server app.ts (9199df0)
  • solve rebase conflicts in server app.ts (81f090c)
  • solve rebase conflicts in server app.ts (6957cdc)
  • solve rebase conflicts in server app.ts (91deb88)
  • solve rebase conflicts in server app.ts (c219f0d)
  • solve rebase conflicts in server app.ts (577ab50)
  • solve rebase conflicts in server app.ts (0d90e7a)
  • solve rebase conflicts in server app.ts (dbee8db)
  • solve rebase conflicts in server app.ts (2cab0a5)
  • solve rebase conflicts in server package.json (dcd0493)
  • solve rebase conflicts in server package.json (dee51bb)
  • solve rebase conflicts in server package.json (af5477a)
  • solve rebase conflicts in server package.json (707d758)
  • solve rebase conflicts in server package.json (8168daf)
  • solve rebase conflicts in server package.json (d92c494)
  • solve rebase conflicts in server package.json (4de27d1)
  • solve rebase conflicts in server package.json (3355f03)
  • solve rebase conflicts in server report (d2a34bb)
  • solve rebase conflicts in server report (e8b01ef)
  • solve rebase conflicts in server report (d070191)
  • solve rebase conflicts in server report (2589878)
  • solve rebase conflicts in server report (75008b6)
  • solve rebase conflicts in server report (8ccc576)
  • solve rebase conflicts in server report (8f3163a)
  • test: improve coverage and clean match service code (10c0e17)
  • test: make tests pass and add tests (9c01dc6)
  • todo: update todo file (de7e259)
  • typo: correct a typo in docs (ba3e4ff)
  • update package lock (945fecd)
  • update package lock (480abdc)
  • update package-lock (079fc3d)
  • update package.json so that db is started in background (c46aa6e)
  • update todo (79b351e)
  • update todo (223e3b1)
  • update todo (7d4a750)
  • update todo (fa42ed3)
  • update todo (2ab74af)
  • wip: working on adhering to right socket.io conventions (like middlewares) (41a7831)
  • wip: working on starting db (9080ea7)
  • wip: working on starting db (bea5a7e)
  • wip: working on starting db (8f259c6)
  • wip: working on starting db (b686272)
  • wip: working on starting db (d0ed69b)
  • wip: working on starting db (928ae2b)
  • wip: working on starting db (eabf77d)
  • wip: working on starting db (5a6242c)
  • wip: working on starting db (01ac1b3)
  • wip: working on starting db (466cbe5)
  • wip: working on starting db (f40cfe2)
  • write docstring and edit test name (f7bd65e)

Style improvements

  • remove unused imports and exploit utils function (fdedf05)
  • test_utlis: add space to check-called (f3c8d88)

Refactoring

  • account: change account factory from methods to static class (7c84f43)
  • account: change factory method to "create" (3e071f2)
  • account: move password encryption logic from repository to model (d0539d8)
  • applied formatter to files (05dfdc6)
  • apply formatter to files (e195941)
  • cell: remove unused import in cell tests (24af84a)
  • change dates use for better testing (7a1912d)
  • change rating property from rating to value (e474003)
  • client: implement stores to organize code (7bb1679)
  • client: on MatchView (c8f5602)
  • client: remove match ID from page URL and set initial match turn (938a36e)
  • client: remove match ID from page URL and set initial match turn (fcb3269)
  • client: rename socket to server-connections providing also rest api connection (0cb079e)
  • client: rename socket to server-connections providing also rest api connection (52e2d0a)
  • controller: exploit new getAccount method in other account controller methods (aad8391)
  • docker: remove useless lines in docker-compose.yaml (3050c67)
  • docker: simplify Dockerfiles (632c5b8)
  • doc: remove unused and duplicated mockup images in res dir (5a4ef4a)
  • edit initial board state (8ea72b7)
  • extract repository test utility methods, refactor them into use in some tests (d23ca6d)
  • fix tests, remove console logs (4c3c9c7)
  • fixed formatting (5ac5b3a)
  • fixed formatting by running formatter on badly formatted files (a19d713)
  • graphics: better arrange match and board data in match view (e6593f1)
  • graphics: create images for grains visualization (2abe739)
  • graphics: improve MatchOver component (4daba7a)
  • improve file structure and naming conventions, add test for prolog engine (9ba7d6e)
  • improve function nameing (f67a988)
  • improve interface of matchmaking service (ef946e1)
  • improve matchmaking controller structure (93d903e)
  • improve matchmaking controller structure (6c74a0d)
  • improved code quality in repository tests (0400492)
  • improved code quality of check-called util functions (281ceab)
  • improved is valid match matchmaking algorithm (b8111c6)
  • improved log (76e7d1e)
  • imrove matchmaking service structure (c13e4b9)
  • let username checks not pass always in dev mode due to test (22b1a9e)
  • make prolog cells coordinates 0 indexed (e9482fa)
  • match and move objects scoping (ab6dda2)
  • merged player concept into account concept (3fd267d)
  • minor code quality improvement (e3f5cbb)
  • mock console in prolog engine and bot service tests (9c8ca9b)
  • model: edit default board configuration (208645d)
  • model: implement factories as static classes (3cf81eb)
  • move matchmaking service into matchmaking directory (5baafb1)
  • move navbar in a unique component (bf6cb03)
  • move password strength checks on its own service (e5955f6)
  • navbar: improve navbar buttons (64caf72)
  • remove debug console.logs (21d5410)
  • remove unreachable code (048d3f1)
  • remove unused function (62d4a6e)
  • remove unused function (f9300f3)
  • remove unused import (1129b73)
  • remove unused import (d273a03)
  • remove unused imports (6eae77e)
  • remove updateCandidate from candidate repository, remove rating from matchmaking candidate (c7ae5b6)
  • remove useless code and rearrange route and controller (86e7535)
  • remove useless comments (ef4fe6e)
  • remove useless template readme from client and server (295d667)
  • removed redundant line (3c05a6a)
  • rename opponent selection logic file to just logic (c6de39c)
  • rename test files (48397b0)
  • replace rating.rating with rating.value (f51ffc8)
  • repositories: implement MatchRepository class to avoid code repetition (f0a3de0)
  • repository: rename matchRepository in endedMatchRepository (9b4922c)
  • repository: unify match repositories behavior (3f60292)
  • server: improve code for addMove (a4fd061)
  • server: remove all cookie-parser reference in the server (d0d75ab)
  • server: remove useless index api from server (74b6f9a)
  • server: reworked registration API with new sockets style (378e8ab)
  • server: update cors logics in server (57294ac)
  • sockets: rename ended message to over and rewrite server-side addMove (9950f83)
  • test: separate match tests from move tests (a31c080)
  • test: use test utility function in match repository tests (30f00e0)
  • update matchmaking with async version of evaluate opponent match function (5c83f06)
  • use check-called util in player repository tests, improve check-called util (e161a6e)
  • work on improving repository class testing DRYness (ccfbfcf)
  • work on improving repository class testing DRYness (aaeb810)

0.3.0 (2025-06-30)

Features

  • account: add email to the params for register request (b29aa54)
  • account: add email validation in account model (2a9832f)
  • account: add GET /me api in account (986168b)
  • account: add jwt libs and configure it in the server sub project (2438528)
  • account: add register api with service, repo and model (6d64ff6)
  • account: add register api with service, repo and model (6c03a4e)
  • account: add the chance to change the email in the model (dae1fbc)
  • account: add username validation in account model (0c269cd)
  • account: change account login API uniqueness from email to username (untested) (fc39d4e)
  • account: create a landing and register page (93dd0a2)
  • account: create authentication middleware (ecc03a5)
  • account: create changeEmail socket event (4e37ad3)
  • account: create login api (f575934)
  • account: create logout api (c29d322)
  • account: now token is stored in cookies (ae9d73c)
  • account: working on invalidating old sessions (53c20cc)
  • account: working on retreiving correct value in account repository (2f99e7b)
  • add autentication middleware for sockets (a280d5b)
  • add base Player and Rating model (622b72d)
  • add base Player and Rating model (4a5669a)
  • add base Player and Rating model (ee76086)
  • add base Player and Rating model (34e6ad3)
  • add base Player and Rating model (c5d8f36)
  • add base Player and Rating model (7ef6d3a)
  • add current username retrieving in PlayView (b3d7b6e)
  • add default constructor to matchmakingCandidate (b656b1f)
  • add default kfactor in client rating service (642ca0f)
  • add distribute_grains to prolog program (1617543)
  • add equals to matchmaking candidate (471cf46)
  • add evaluate opponent match function (c2dd6f7)
  • add findAsync as an array extension method (e8ef5a7)
  • add findOpponentOrAddToQueue function (efaf32b)
  • add frontend matchmaking and minor fixes (f4e8e51)
  • add function to find matching opponent (31afa65)
  • add functionality to play button in play page (ef1b0f6)
  • add getCandidate to matchmaking queue repository (23827ac)
  • add getters for Rating properties (ee74fee)
  • add legal_moves to prolog program (7fa6f62)
  • add matchmaking algorithm (c4f52fd)
  • add matchmaking candidate model (c3e2bfe)
  • add matchmaking queue (5b5d7ae)
  • add matchmaking queue repository (0bfe5bc)
  • add matchmaking routine (d73946d)
  • add neighbors to prolog program (f489481)
  • add parameter to matchmaking queue factory (7bd9e0d)
  • add player repository (bc9a448)
  • add rating property to player model (1fce057)
  • add rating to matchmaking candidate (cbad60c)
  • add remove function to matchmaking queue (39075e7)
  • add requestMatchWithBot to socket options. implement matchmaking controller for request match with bot (bf867a7)
  • add rounding util implementation (67fbef7)
  • add screenshots to tutorial (bf6daa9)
  • add server side matchmaking base functionality (e36f0b0)
  • add simple disconnection handling (d5bfb9b)
  • add update_cell to prolog program (1686d65)
  • add valueOf to Rating to enable operator comparisons (c3971c7)
  • base loading spinner on matchmaking implemented (c1acb5f)
  • base styling implemnted to matchmaking page (64e91bd)
  • basic ai bot move service implemented (95f2e3e)
  • board: finish implementation of board (7303258)
  • board: implement game boarb and its components, and write tests for board (91f1314)
  • client: add ratings visualization (aa8129c)
  • client: begin completion of apis in PlayView (3cce121)
  • client: complete layout of profile (e98f3af)
  • client: complete login (no css) (8f36540)
  • client: complete registration (no css) (c192d43)
  • client: create basic ui to change profile name (afc402f)
  • client: create landing page (not responsive yet) (5744fa4)
  • client: create play screen (logics not added yet) (ebd8a4c)
  • client: implement auto login (9efe8bf)
  • client: implement client-side moves application (74b2217)
  • client: implement client-side winner message (fc9565b)
  • client: implement matchOver GUI inside MatchView (c55f07a)
  • client: implement missing elements in ProfileView (c6c4826)
  • client: implement move lock when the other user is moving (b8da8d8)
  • client: inject awesome icon into the codebase (1d8f464)
  • client: make board updating reactive (e783725)
  • client: setup delete account button (da4ed07)
  • complete functionalities binded to navbar (d395999)
  • complete navbar style (48b7484)
  • configure register with auth screen too (9b467e3)
  • continue implementation of match (cd2a1e6)
  • controller: implement addMove in match controller, with tests (979ec1a)
  • controller: implement deleteMatch in match controller, with tests (eb8c648)
  • controller: implement getMatch in match controller, with tests (e4e1903)
  • controller: implement getMatchesByPlayer in match controller, with tests (55d8349)
  • controller: implement room leaving on match end (c1b6aa6)
  • cors: add cors policy logic in app.ts (b63aea5)
  • create a ping pong conversation between client and server with sockets (49da69c)
  • create nav bar in play (6f7f794)
  • decomment all predicates (6ee07fe)
  • dialog: create a simple dialog component (39abdcf)
  • finish adding db population init (0ec7fc6)
  • finish styling login view (2786d3b)
  • graphics: add board buttons coloration (dc7e506)
  • graphics: add modal window for winner message (d2413c7)
  • graphics: create NavBar element and improve match interface (93f2d59)
  • graphics: implement buttons turn-based inactivation (9b292f0)
  • graphics: implement grains vue component (2be70e1)
  • graphics: implement player in match card and custom color theme (8534547)
  • graphics: implement responsive match page (591ee16)
  • graphics: partly implement board buttons view (7bdb8e0)
  • graphics: use MDBootstrap for match view (a2a1b8d)
  • implement base prolog engine (3ed4e3a)
  • implement client reconnection (16fd123)
  • implement client side leaderboard (a5341f4)
  • implement in progress match repository, with tests (ea69892)
  • implement leaderboard account info (cfa5bca)
  • implement leaderboard service (fd675ef)
  • implement rating api and rating service client side (f7f5598)
  • implement ratingDelta and last match in PlayView (7b82ee3)
  • implement simple startMatch interaction with sockets (cb63be2)
  • implement style on leaderboard (b47a72e)
  • implement tutorial page (4ff74c8)
  • implement updateRating (50091b7)
  • implemented comparison method in Rating model (b2bb24b)
  • improve doc comments of prolog program, improve board rappresentation, decomment topple_once (0d3791a)
  • improve guest matchmaking (48eb532)
  • improved coherence of matchmaking queue repository (d805804)
  • landing: update landing using mdb (0b2d3b9)
  • libs: add rate limit on production env and install cors lib (to be used) (8813efe)
  • made Player factory method static (64c5c5b)
  • made to array of matchmaking queue return correctly ordered array (6709c12)
  • make Rating factory method static (56bfbc5)
  • match: add initial board state to match structure (14a6d6a)
  • middleware: correct auth middleware (8247bad)
  • middleware: create validator middleware (185a1a6)
  • model: implement match.winner (e242f51)
  • mongoose: add initial state to match Mongoose schema (43a5b24)
  • now users can play multiple matches one after the other (6eb937c)
  • playbot: implement matches with bot (only in auth namespace) (0069a8a)
  • plug clients to server backend (fixes in mongoose were necessary) (3e57aa0)
  • profile: change email works in front end (8e11fe4)
  • profile: change from editing username to editing email in client (4658771)
  • profile: create path in the client to arrive to profile page (0fe1d63)
  • profile: improve error handling in email changing (2b9b8db)
  • profile: update email works in server (3089178)
  • rating: implement rating update on match over (877d28c)
  • remove higherThan method in rating model (ef705b1)
  • removed waitingTime from matchmaking queue candidate (77e8607)
  • replace Glicko with Elo ranking system (8e0a8e8)
  • repository: implement feature and some tests for matchRepository deleteMatch (d2b6408)
  • repository: implement feature and some tests for matchRepository updateMatch (10861c9)
  • rework login so it uses AuthScreen (c284274)
  • routes: add routes to match routes file (209314f)
  • saving: correct implementation of match end and implement match history (81b719f)
  • server: delete all unused dependencies and comment all lines that were using them (f14d556)
  • server: delete all unused dependencies and comment all lines that were using them (014e69d)
  • server: implement basic match model structure (eedca2d)
  • server: implement db connection attempts (c8faed0)
  • server: implement delete account api (c690e29)
  • server: update db connection so it uses default variables only in development (fa2c743)
  • service: implement and test matchService.deleteMatch (d0624aa)
  • socket: creating a standard way to use sockets (e13f0fe)
  • sockets: implement simple websocket communication system (b7cf49f)
  • sockets: implement simple websocket communication system (a2eef50)
  • sockets: implement simple websocket communication system (9d71478)
  • sockets: implement simple websocket communication system (e0cfa9c)
  • sockets: implement simple websocket communication system (f3f9c23)
  • sockets: implement simple websocket communication system (5f4b044)
  • style: improve button style (e63a781)
  • style: improve landing style (b9fd326)
  • theme: improve theme management in front end (23d4bdb)
  • update opponent selection logic algorithm to take in account time passed since request (b9944fc)
  • updated matchmaking service to reflect new matchmaking algorithm (161d4ee)
  • WIP: add client styling (cc134a1)
  • WIP: add guest user to db-init (eda6015)
  • WIP: add simple login page for testing (a3492a1)
  • wip: begin implementation of board moves processing (9768945)
  • wip: begin implementation of game board (8abec16)
  • wip: begin implementation of match (36d6b87)
  • wip: implement part of match features (72695ea)
  • WIP: work at updating the email (e5345b2)
  • WIP: work on adding logic to play view (17cc90e)
  • WIP: work on db setup population (0c79b3f)
  • WIP: work on socket auth middlware and routing implementation (d763677)
  • WIP: work on styling login (1bdcaba)
  • WIP: work on using changeEmail socket event in client (ce72709)
  • WIP: working on creating endpoint for email changing in server (e4e865c)
  • wip: working on generalizing from production context in api calls (FE) (b6df177)
  • WIP: working on integrating account and matchmaking (2262861)

Dependency updates

  • core-deps: update nginx docker tag to v1.28 (#339) (92fb097)
  • core-deps: update nginx docker tag to v1.29 (#340) (13ebcf6)
  • deps: add bcrypt to hash passwords (7851a82)
  • deps: add bcrypt to hash passwords (7b8589f)
  • deps: add bcrypt to hash passwords (b34fbc2)
  • deps: add bcrypt to hash passwords (3e23c04)
  • deps: add bcrypt to hash passwords (de00099)
  • deps: add bcrypt to hash passwords (01d3920)
  • deps: add express-validator to deps (8a81273)
  • deps: add express-validator to deps (0099ed5)
  • deps: add express-validator to deps (a58baec)
  • deps: add express-validator to deps (7acb7ad)
  • deps: add helmet to server (5de07fb)
  • deps: add helmet to server (ad74131)
  • deps: add helmet to server (fc37655)
  • deps: regenerate package-lock (38c69a6)
  • deps: remove helmet deps from the root package.json (1cb9940)
  • deps: update dependency @tsconfig/node22 to v22.0.2 (#246) (e390f57)
  • deps: update dependency @types/express to v5.0.2 (#240) (3c6d572)
  • deps: update dependency @types/express to v5.0.3 (#280) (c134d43)
  • deps: update dependency @types/http-errors to v2.0.5 (#281) (2b62c7e)
  • deps: update dependency @types/jest to v30 (#297) (0da86ca)
  • deps: update dependency @types/morgan to v1.9.10 (#282) (9eb280c)
  • deps: update dependency @types/node to v22.14.1 (#175) (3ead72b)
  • deps: update dependency @types/node to v22.14.1 (#176) (7f964b6)
  • deps: update dependency @types/node to v22.15.12 (#212) (623f143)
  • deps: update dependency @types/node to v22.15.12 (#213) (dd23d3f)
  • deps: update dependency @types/node to v22.15.14 (#216) (006cf2e)
  • deps: update dependency @types/node to v22.15.14 (#217) (9854cc4)
  • deps: update dependency @types/node to v22.15.15 (#220) (b576b56)
  • deps: update dependency @types/node to v22.15.15 (#221) (ed7d62b)
  • deps: update dependency @types/node to v22.15.16 (#222) (71747cf)
  • deps: update dependency @types/node to v22.15.16 (#223) (577f0ca)
  • deps: update dependency @types/node to v22.15.17 (#224) (b816d09)
  • deps: update dependency @types/node to v22.15.17 (#225) (421ec60)
  • deps: update dependency @types/node to v22.15.18 (#232) (91dc1d2)
  • deps: update dependency @types/node to v22.15.19 (#241) (77e98dc)
  • deps: update dependency @types/node to v22.15.19 (#242) (eac3421)
  • deps: update dependency @types/node to v22.15.2 (#196) (83037d5)
  • deps: update dependency @types/node to v22.15.2 (#197) (f300e1d)
  • deps: update dependency @types/node to v22.15.20 (#249) (1b82617)
  • deps: update dependency @types/node to v22.15.21 (#248) (8f26a85)
  • deps: update dependency @types/node to v22.15.21 (#252) (5e42412)
  • deps: update dependency @types/node to v22.15.23 (#258) (7c21561)
  • deps: update dependency @types/node to v22.15.23 (#259) (78e1c83)
  • deps: update dependency @types/node to v22.15.24 (#261) (4a1deda)
  • deps: update dependency @types/node to v22.15.24 (#262) (f1cf296)
  • deps: update dependency @types/node to v22.15.27 (#266) (906bd52)
  • deps: update dependency @types/node to v22.15.27 (#267) (2ebe1da)
  • deps: update dependency @types/node to v22.15.29 (#268) (b94cb02)
  • deps: update dependency @types/node to v22.15.29 (#269) (1fe6122)
  • deps: update dependency @types/node to v22.15.3 (#200) (351cc3f)
  • deps: update dependency @types/node to v22.15.3 (#201) (2c9ed94)
  • deps: update dependency @types/node to v22.15.30 (#277) (597edfd)
  • deps: update dependency @types/node to v22.15.30 (#278) (f841534)
  • deps: update dependency @types/node to v22.15.31 (#285) (894d38c)
  • deps: update dependency @types/node to v22.15.31 (#286) (d6e7068)
  • deps: update dependency @types/node to v22.15.32 (#295) (54b9cb3)
  • deps: update dependency @types/node to v22.15.32 (#296) (8018479)
  • deps: update dependency @types/node to v22.15.33 (#316) (0128e07)
  • deps: update dependency @types/node to v22.15.33 (#317) (e9788b4)
  • deps: update dependency @vitejs/plugin-vue to v5.2.4 (#227) (630d4b5)
  • deps: update dependency @vitejs/plugin-vue to v6 (#313) (5cc690b)
  • deps: update dependency @vitejs/plugin-vue-jsx to v4.2.0 (#247) (eff8804)
  • deps: update dependency @vitejs/plugin-vue-jsx to v5 (#314) (86338dc)
  • deps: update dependency @vitest/eslint-plugin to v1.1.40 (#169) (93503fa)
  • deps: update dependency @vitest/eslint-plugin to v1.1.42 (#174) (bc529d0)
  • deps: update dependency @vitest/eslint-plugin to v1.1.43 (#184) (caf62e5)
  • deps: update dependency @vitest/eslint-plugin to v1.1.44 (#208) (b244dc9)
  • deps: update dependency @vitest/eslint-plugin to v1.2.0 (#236) (73077bf)
  • deps: update dependency @vitest/eslint-plugin to v1.2.1 (#254) (eef836c)
  • deps: update dependency @vitest/eslint-plugin to v1.2.2 (#288) (99e068e)
  • deps: update dependency @vitest/eslint-plugin to v1.2.3 (#290) (2ae32b7)
  • deps: update dependency @vitest/eslint-plugin to v1.2.4 (#291) (e482356)
  • deps: update dependency @vitest/eslint-plugin to v1.2.5 (#293) (be14ebe)
  • deps: update dependency @vitest/eslint-plugin to v1.2.7 (#298) (56ca09b)
  • deps: update dependency @vitest/eslint-plugin to v1.3.3 (#358) (ddd3360)
  • deps: update dependency @vue/eslint-config-typescript to v14.5.1 (#300) (e896ac8)
  • deps: update dependency concurrently to v9.2.0 (#307) (32d682d)
  • deps: update dependency concurrently to v9.2.0 (#308) (0dda3f8)
  • deps: update dependency cypress to v14.3.0 (#168) (98aefb0)
  • deps: update dependency cypress to v14.3.1 (#183) (ef0395d)
  • deps: update dependency cypress to v14.3.2 (#193) (ea1de73)
  • deps: update dependency cypress to v14.3.3 (#218) (49f3eba)
  • deps: update dependency cypress to v14.4.0 (#251) (fe5da7f)
  • deps: update dependency cypress to v14.4.1 (#272) (eb7dc35)
  • deps: update dependency cypress to v14.5.0 (#302) (e40358d)
  • deps: update dependency eslint to v9.25.0 (#186) (d8be8b8)
  • deps: update dependency eslint to v9.25.1 (#188) (cd131af)
  • deps: update dependency eslint to v9.26.0 (#209) (d796418)
  • deps: update dependency eslint to v9.27.0 (#239) (d3ff240)
  • deps: update dependency eslint to v9.28.0 (#270) (e142e2b)
  • deps: update dependency eslint to v9.29.0 (#292) (581bdbf)
  • deps: update dependency eslint-config-prettier to v10.1.2 (#173) (ea04b1a)
  • deps: update dependency eslint-config-prettier to v10.1.3 (#219) (1345403)
  • deps: update dependency eslint-config-prettier to v10.1.5 (#226) (eabf7db)
  • deps: update dependency eslint-plugin-cypress to v4.2.1 (#170) (d8e1fd8)
  • deps: update dependency eslint-plugin-cypress to v4.3.0 (#192) (f43ef7d)
  • deps: update dependency eslint-plugin-cypress to v5 (#265) (5eedde9)
  • deps: update dependency eslint-plugin-cypress to v5.1.0 (#274) (a80b9c4)
  • deps: update dependency eslint-plugin-import to v2.32.0 (#306) (b7fdeac)
  • deps: update dependency eslint-plugin-vue to v10.0.1 (#205) (e063dab)
  • deps: update dependency eslint-plugin-vue to v10.1.0 (#207) (cdaa945)
  • deps: update dependency eslint-plugin-vue to v10.2.0 (#279) (68f325e)
  • deps: update dependency jest to v30 (#287) (a2b08ae)
  • deps: update dependency jest to v30.0.1 (#304) (8e65a25)
  • deps: update dependency jest to v30.0.2 (#305) (a914e4f)
  • deps: update dependency jest to v30.0.3 (#318) (d43ffa7)
  • deps: update dependency jsdom to v26.1.0 (#178) (abd1a83)
  • deps: update dependency nodemon to v3.1.10 (#194) (ca158ff)
  • deps: update dependency npm-run-all2 to v8 (#210) (c05481b)
  • deps: update dependency npm-run-all2 to v8.0.2 (#237) (27a3a48)
  • deps: update dependency npm-run-all2 to v8.0.3 (#250) (cfbd049)
  • deps: update dependency npm-run-all2 to v8.0.4 (#255) (c89ce8c)
  • deps: update dependency pinia to v3.0.2 (#171) (9e44a24)
  • deps: update dependency pinia to v3.0.3 (#275) (d4cb7db)
  • deps: update dependency prettier to v3.6.0 (#309) (4ed1485)
  • deps: update dependency prettier to v3.6.0 (#310) (cd793cf)
  • deps: update dependency prettier to v3.6.1 (#319) (1911a81)
  • deps: update dependency prettier to v3.6.1 (#320) (d8a98c8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.126 (#198) (592e84f)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.127 (#204) (0032579)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.128 (#230) (6a17d4b)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.129 (#244) (a99ebbf)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.131 (#253) (0f9fe2c)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.132 (#257) (91caba8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.133 (#263) (355f1ab)
  • deps: update dependency start-server-and-test to v2.0.12 (#235) (16c53f5)
  • deps: update dependency supertest to v7.1.1 (#228) (2406b17)
  • deps: update dependency ts-jest to v29.3.2 (#177) (864c7c3)
  • deps: update dependency ts-jest to v29.3.3 (#233) (ae2218a)
  • deps: update dependency ts-jest to v29.3.4 (#238) (3f333cd)
  • deps: update dependency ts-jest to v29.4.0 (#289) (ee0dffc)
  • deps: update dependency vite to v6.2.6 (#172) (7210ea1)
  • deps: update dependency vite to v6.3.0 (#180) (07145b1)
  • deps: update dependency vite to v6.3.1 (#182) (d2644b5)
  • deps: update dependency vite to v6.3.2 (#185) (07147dc)
  • deps: update dependency vite to v6.3.3 (#195) (6fa4247)
  • deps: update dependency vite to v6.3.4 (#206) (5e91f51)
  • deps: update dependency vite to v6.3.5 (#211) (dd9f0f0)
  • deps: update dependency vite to v7 (#315) (bbc54b7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.5 (#181) (c0183f7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.6 (#202) (b34741d)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.7 (#294) (ec4d29c)
  • deps: update dependency vue to v3.5.14 (#234) (296feed)
  • deps: update dependency vue to v3.5.15 (#256) (35227fb)
  • deps: update dependency vue to v3.5.16 (#264) (6a29c37)
  • deps: update dependency vue to v3.5.17 (#303) (f750519)
  • deps: update dependency vue-router to v4.5.1 (#199) (d708109)
  • deps: update dependency vue-tsc to v2.2.10 (#191) (10faf00)
  • deps: update jest (2494996)
  • deps: update jest (88e1dd1)
  • deps: update jest (40b55a4)
  • deps: update jest (6558b57)
  • deps: update jest (3c177b0)
  • deps: update jest (37b7f08)
  • deps: update jest (a799bad)
  • deps: update jest (ac662cb)
  • deps: update node.js to >=20.0.0 <=22.15.0 (#190) (2f63bce)
  • deps: update node.js to >=20.0.0 <=22.15.1 (#231) (8b7c8fa)
  • deps: update node.js to >=20.0.0 <=22.16.0 (#245) (0ca5297)
  • deps: update node.js to >=20.0.0 <=22.17.0 (#312) (ee1a247)
  • deps: update typescript-eslint monorepo to v8.29.1 (#167) (8de8d8e)
  • deps: update typescript-eslint monorepo to v8.30.1 (#179) (0f22c6d)
  • deps: update typescript-eslint monorepo to v8.31.0 (#189) (4525001)
  • deps: update typescript-eslint monorepo to v8.31.1 (#203) (6e2d121)
  • deps: update typescript-eslint monorepo to v8.32.0 (#215) (c41ddb1)
  • deps: update typescript-eslint monorepo to v8.32.1 (#229) (6b8730e)
  • deps: update typescript-eslint monorepo to v8.33.0 (#260) (5e2bce3)
  • deps: update typescript-eslint monorepo to v8.33.1 (#273) (3cb0477)
  • deps: update typescript-eslint monorepo to v8.34.0 (#284) (783da01)
  • deps: update typescript-eslint monorepo to v8.34.1 (#299) (1bf315e)
  • deps: update typescript-eslint monorepo to v8.35.0 (#311) (7a45f44)
  • deps: update vitest monorepo to v3.1.2 (#187) (75f2a53)
  • deps: update vitest monorepo to v3.1.3 (#214) (7a6fc80)
  • deps: update vitest monorepo to v3.1.4 (#243) (7fb85cb)
  • deps: update vitest monorepo to v3.2.1 (#271) (e8ca23c)
  • deps: update vitest monorepo to v3.2.2 (#276) (df12564)
  • deps: update vitest monorepo to v3.2.3 (#283) (16b1df5)
  • deps: update vitest monorepo to v3.2.4 (#301) (222aeaf)

Bug Fixes

  • account test passes again (f8568f0)
  • account: /account/register finally works, forgot an await call (362152b)
  • account: /account/register finally works, forgot an await call (d138b6d)
  • account: fix checkPassword account model method so that it awaits (81e51a7)
  • account: fix read all accounts in account repository (111adb2)
  • account: working on restoring previous setup (e2372f6)
  • add cookie-parser to packages (91b99c0)
  • add functionality to landing tutorial button (7f5887a)
  • add grid shape to tutorial (5f7bf88)
  • add missing parenthesis (ea47a30)
  • add new username fetching to PVE matchmaking (a492739)
  • bot matches (aa5a786)
  • check if account is null (bc206c2)
  • client: correct endpoint request in login (ab08286)
  • client: remove redundant style in play view (d462ec5)
  • comment socket auth middleware as it is in a broken state (6739845)
  • correct cors in server for socket.io (cd74ab6)
  • cors: finally configure correctly cors policies (3e753e4)
  • delete duplicate file (7222cef)
  • findMatchesByPlayer should return a list of IDs, not the whole matches (b7e0652)
  • fix bug where matchmaking queue was not retrieving candidates in the db properly (d6bd47e)
  • fix bug where matchmaking queue was not saving candidates in the db properly (2667d5a)
  • fix heading problems in report for matchmaking (526be50)
  • fix heading problems in report for matchmaking (222a116)
  • fix infinite recursion on guest matchmaking (a0b669d)
  • fix matchmaking bug (4ebd209)
  • fix test for leaderboard service (8d496db)
  • fix tutorial image sizing issue (c767a00)
  • graphics: grains position (dimensions to be fixed) (6ba116b)
  • graphics: piles turn highlighting (8f23c36)
  • graphics: player1 conquered piles not changing color (0c0d2a1)
  • have opponent selection logic not match a player to itself (ac94963)
  • implement rating update service (6644774)
  • matchover: socketsLeave function (de76f1f)
  • matchService addMove behavior, refactor some tests (afc9d95)
  • minor bug fixes (5b2b154)
  • minor bugs (d872143)
  • minor formatting changes (e77a658)
  • minor warning in todo fixedf' (54103fb)
  • model: board toroidal behavior (27008bc)
  • navbar: improve dialog closing logic (a5879c0)
  • playbot: wrong pile owner (ac66e67)
  • prolog: engine timeout bug (f98c47c)
  • ratingDelta and matchHistory (3e51cf3)
  • remove players from queue when match is found (9ee9b32)
  • remove references to player as it is currently unfinished (f352788)
  • remove references to rating deviation and volatility (45da736)
  • remove unfinished player model (b71d60b)
  • server tests (fe78155)
  • server: addMove not updating database (5c1a929)
  • server: rooms handling between root and auth namespace (5db358b)
  • service: add missing awaits (9805620)
  • solve minor integration bugs (5fe5f5a)
  • solve node version conflicts with main (d5f1835)
  • solve prolog test reference bug (a0b6ab0)
  • solved errors from merge with incomplete feat/matchmaking (dcafe2a)
  • solved errors from merge with incomplete feat/matchmaking (01354ca)
  • solved errors from merge with incomplete feat/matchmaking (570c3dc)
  • solved errors from merge with incomplete feat/matchmaking (4c1347f)
  • started intergrating matchmaking with match feature (fc46044)
  • successfully integrate matchmaking and match parts (254b192)
  • temporary invert coordinates in bot getMove (5800b1d)
  • test: make match controller tests pass (5154816)
  • try to fix browser autofill style issue (not solved) (4bb4257)
  • types: correct type handling so that authenticated request work (8f8140c)
  • updated npm, removed old test files (e3a5f9c)
  • updated npm, removed old test files (e9f7bfb)
  • updated npm, removed old test files (bf89c84)
  • updated npm, removed old test files (dbf452c)
  • validation: move validation to each route middleware pipeline (313d2b4)
  • WIP: working on connecting client and server (792206c)

Documentation

  • account: update account api doc (c1e2861)
  • add a todo list (3c2fb34)
  • add account word to glossary (332bf9f)
  • add API chapter in report (278d01f)
  • add BoardState to UML (56e5f48)
  • add conclusions to report, minor additions (0c474e3)
  • add deployment section to report (703971c)
  • add doc file (bc57596)
  • add explanation to diagram (77ef497)
  • add future improvemnt in doc (5afff29)
  • add Game AI implementation description to report (5ff67b0)
  • add Game AI to report (552643e)
  • add how to convert mermaid in draw.io (d9a6567)
  • add link to docs in readme (8a84005)
  • add matchmaking algorithm to report (22fdf97)
  • add matchmaking api (1460e9c)
  • add matchmaking API (6cbfb4c)
  • add matchmaking API (15cec89)
  • add matchmaking API (624a174)
  • add matchmaking API (359cb74)
  • add matchmaking API (2080cf7)
  • add matchmaking API (fb367bd)
  • add matchmaking candidate to report uml (cee50cc)
  • add matchmaking server class diagram (7c310a8)
  • add matchmaking server class diagram (28d2892)
  • add matchmaking server class diagram (e542af9)
  • add matchmaking server class diagram (2489a39)
  • add matchmaking server class diagram (f40ffc1)
  • add matchmaking server class diagram (d20861a)
  • add pages flow chart (202df16)
  • add personas and scenarios to doc (f9c473a)
  • add rating system to report (cf35ae3)
  • add requirements (3042a31)
  • add requirements (83776ff)
  • add sequence diagram for matchmaking (ff839b2)
  • add sequence diagram for matchmaking (c29acaf)
  • add sequence diagram for matchmaking (d5ddb29)
  • add simple graph for frontend component dependencies (4043e08)
  • add table of contents. fix language typo (ae81dbf)
  • add todo comment (5788c98)
  • add todo to opponent selection logic (f827eb1)
  • add typedoc (2dfd67b)
  • add uml for Ciatto question (01197d3)
  • add unique username requirement (70c97bf)
  • added a remember to (f6e04fe)
  • added brainstorming for 240225 (6d78fd0)
  • added details on helmet security library (6994f1f)
  • added developer requirements (7d6dd53)
  • added mockups, frontend and backend architecture and some detailed design (355d262)
  • added mockups, frontend and backend architecture and some detailed design (f5e49b9)
  • added vue design sistem to consider (757385d)
  • api: create api doc (89d5e54)
  • apis: update match APIs (d8052a7)
  • arrange user stories (ace2723)
  • change mermaid graph to LR graph, add hexagonal architecture dependency graph, add some detailed domain (f627ffc)
  • client: add docs (fcb5268)
  • correct match APIs (7e859e4)
  • create a todo list (8b89cdb)
  • create usecase file (17c5ec8)
  • ddd: create context map (d82fa9f)
  • ddd: update the ubiquitous language (7a17e55)
  • design: add design overview (2e7718c)
  • docker: specify the necessity of creating the MongoDB root password file (5cbaab9)
  • fix typo (8bb9513)
  • match: delete content from match uml (41d5e04)
  • match: update and organize docs (0922971)
  • match: update and organize docs (23d7b94)
  • match: update and organize docs (80b3bed)
  • match: update and organize docs (c187673)
  • minor doc fix (d826f32)
  • minor doc fixes (25ee656)
  • minor doc fixes (4670c17)
  • minor doc fixes and added some future work (0cd6575)
  • minor fixes and additions to md files (c8cff49)
  • minor fixes to personas and scenarios (4290d4b)
  • minor typos, add implemented/not implemented to matchmaking features, add new matchmanking feature in report (47d40b9)
  • pagesflow: change name online -> ranked (f21c3fa)
  • remove useless todo doc and add mermaid 2 drawio doc (cb79cd6)
  • rename match queue to matchmaking queue (6830d8b)
  • replace glicko references with elo (2771ca2)
  • report: add graphs pngs and arrange report to work with pandoc (0b76f88)
  • report: rename mockups pngs (b8d68e1)
  • report: start working on context map on report (35a094e)
  • report: update report with devops infos (9924b5e)
  • set some todoes to done (d53356b)
  • typedoc: add some typedoc (2243856)
  • uml: change mongo db to database (d276a79)
  • uml: create architecture uml (19f7208)
  • uml: create sequence diagram for user registration and login (43c4fb1)
  • uml: edit pages flow (1afc3f2)
  • uml: update ciatto question with correct composition arrows directions (cb1a946)
  • uml: update match UML (39ca8a0)
  • uml: update match UML (54b0415)
  • uml: update pages flow (9aaf46f)
  • uml: update repositories structure (371a12c)
  • update general docs and arrange match part (9d69789)
  • update match and docker docs (3d9c2d9)
  • update matchmaking sequence diagram (4f64f3a)
  • update page flow design (58803b9)
  • update report (23e4c8d)
  • update report (c83032b)
  • update requirements, update rating system doc (0fcc16b)
  • updated doc with elo system, minor improvements to doc (a85dd16)
  • wip: write match docs (faa04a1)
  • write docs on simple websocket communication system (4975c9b)
  • write SPE part (42e8bfb)

Revert previous changes

  • account: not using session for now to achieve nvp faster (4612ad5)
  • account: revert account to not include password hashing logic (2b263b5)
  • account: revert once again to the rest api version of register endpoint (8327ff8)
  • correct error on registering on the db and correct tests too (ee4309f)
  • restore previous commit since using express is mandatory (e980aaa)
  • restore previous commit since using express is mandatory (25e6290)

Tests

  • account: add account repository tests (915796b)
  • account: add tests for account repository, still not passing (7349ddc)
  • account: complete account controller tests (7a54dae)
  • account: complete account model tests (4c0a15c)
  • account: complete account service tests (4b280a8)
  • account: test controller.login (48cb741)
  • account: test get account method (5a01084)
  • account: test login controller (edfb2dd)
  • account: test login service (18e2bd2)
  • account: test login service (85f224e)
  • account: update account repository tests (b6e3116)
  • account: update account service test (a0316ae)
  • account: update register tests with email (155265f)
  • account: update tests for login api (1fde868)
  • add rating to matchmaking candidate in test (5c651b0)
  • add test for default rating creation (eeb1014)
  • add test for matchmaking controller (76246cc)
  • add test for matchmaking queue repository (b1ab2f9)
  • add tests and minor error handling improvements (2acb1f9)
  • cell: write tests for cell model (10b74c3)
  • client: delete tests linked to template files (f69c0b4)
  • client: update client template tests so that they pass again (bf2b64e)
  • config: remove setup file in tests (unused) (c6a344a)
  • controller: add tests for account controller (30f0a93)
  • controller: improve tests completeness (41876f8)
  • controller: update tests accordingly (70f3411)
  • create test for connectDB function (dc16873)
  • delete match.test.ts since it was throwing error and its not related to this branch (e41c53b)
  • fix test error (ea094da)
  • fix test for db-connection (f8c8a3a)
  • improved coverege of player repository (0464a2a)
  • match: make tests pass (d3ab444)
  • middleware: add tests for validation handler middleware (d39fbeb)
  • middleware: correct middleware tests (c71d07b)
  • middleware: test authentication socket middleware (e47f47f)
  • middleware: test error and auth middlewares (cde16c4)
  • models: add tests for account model (e7a62af)
  • model: write tests for match and move model (261172f)
  • move error test to correct folder (6c477d8)
  • pile: write tests for pile model (b58d0be)
  • replate jest toThrowError (ca58afd)
  • repository: delete account repository tests (d31b59e)
  • repository: implement tests for matchRepository createMatch (c1a10c1)
  • repository: implement tests for matchRepository findMatch (8d25ee8)
  • rework tests adopting new socket logic (6ad74e2)
  • rewrite tests for match repository and match controller (993ddef)
  • server: create tests for delete account (e9e4b83)
  • server: fix match tests (57761c6)
  • server: write tests for match (640e998)
  • service: add test for account service (985a7bb)
  • service: implement tests for match service (b365056)
  • service: improve test coverage (ac28e4c)
  • update db-connection test (b047a0e)
  • update test for matchmaking controller (88c4ad4)
  • update tests after integration (9d7baa4)
  • utils: create mock-console test util (7a49ac9)
  • wip: working on account repository tests (7f421be)

Build and continuous integration

  • add explicit return types in linter configuration (1878d60)
  • compose: update docker compose so that it starts db image with mongo-init.js (d53a68c)
  • configure nginx for client (not finished yet) (059b9d0)
  • correct client dockerfile (123c291)
  • docker: create a init script for mongo (626a535)
  • docker: update check-env-file responsibility (3d17a80)
  • docker: working on setup db image startup (91cf288)
  • docker: working on setup db image startup (ba41c15)
  • docker: working on setup db image startup (d3cf815)
  • docker: working on setup db image startup (9fd0cf6)
  • docker: working on setup db image startup (7002753)
  • docker: working on setup db image startup (06ec55d)
  • docker: working on setup db image startup (e7dafec)
  • docker: working on setup db image startup (09bf99a)
  • docker: working on setup db image startup (c71c8e0)
  • docs: remove client typedoc generation (37acb8c)
  • fix: add a small fix for let tests work on windows (066224c)
  • revert to use nginx for client (83b5a48)
  • server: distinguish between dev, production and docker production modes in server (edee13b)
  • sonar: update sonar-project.properties to ignore client momentarily (2cc38c9)
  • start: add checks and dependencies to npm start commands (e259857)
  • task: update npm root tasks (da3cae1)
  • temporarely remove e2e tests from build automation pipeline (c698d59)
  • test: update client tests to not fail if no tests are found (de6417d)
  • typedoc: correct typedoc command in build (2414652)
  • typedoc: remove typedoc from root and move to server (38f0be7)
  • workspace: improve code-workspace (60b5eff)
  • workspace: improve code-workspace (da91041)

General maintenance

  • add .envrc to gitignore (b183d61)
  • add a comment in account model (0b3a0ea)
  • add binaries folder to gitignore (c438cf1)
  • add missing imports in tests (f2d56d9)
  • add pdf files to gitingore (37ad806)
  • add todo (ee4a4c3)
  • added security library and request body json parsing (049ba81)
  • backend: correct db connection to handle both docker and local scenarios (1e3fe72)
  • client: remove useless and debug code (5e13b2b)
  • client: remove useless code in App.vue (016dd9f)
  • config: add tsconfig in the project root (64365fe)
  • config: update jest config to ignore some files (43aa0b7)
  • controller: arrange functions order (2df6b65)
  • correct some errors leaved by the merge (38677ea)
  • correct typos in doc (89348cb)
  • create vscode workspace (68d0502)
  • docker: fix Docker Compose parameters and add MongoDB container (af7c760)
  • docker: update docker-compose.yml with correct volume path (cf6b67b)
  • docker: update how docker compose startup database (9e20a2a)
  • docker: update how docker compose startup database (1a6658c)
  • docker: update how docker compose startup database (668afaf)
  • docker: update how docker compose startup database (ccb97af)
  • docker: update how docker compose startup database (e6fab18)
  • docker: update how docker compose startup database (b5b77ca)
  • docker: update how docker compose startup database (8c2958d)
  • docker: update how docker compose startup database (35ba9ea)
  • docker: update how docker compose startup database (2efcdc6)
  • fix rebase conflict on app.ts (d112ddd)
  • fix rebase conflict on app.vue (30dac32)
  • fix rebase conflict on docker-compose (3659a8d)
  • fix rebase conflict on docker-compose (38d446b)
  • fix rebase conflict on package-lock (55ea229)
  • fix rebase conflict on package-lock (615aee6)
  • fix rebase conflict on package-lock (e493144)
  • fix rebase conflict on report (c2d2743)
  • graphics: adjust players cards dimension (faab63e)
  • ignore markdown lint no inline html rule for sub tag (710b83c)
  • make tests pass (8e7f5d8)
  • merge conflict solve in server package-lock.json (5bc9872)
  • merge conflict solve in server package.json (7f60892)
  • merge conflict solve in server package.json (67a8d1e)
  • merge conflict solve in server package.json (ad74ac2)
  • merge conflict solve in server package.json (c2c2bd9)
  • merge conflict solve in server package.json (6838a71)
  • merge conflict solve in server package.json (c0a4cb4)
  • merge conflict solve in server package.json (e97fd64)
  • merge feat/lboard with dev (df53189)
  • merge feat/spinner with dev (547fd56)
  • merge: remove typedoc from root package.json (88aa8f9)
  • merge: solve merge conflict in doc.md (65c80f6)
  • mongo: add commands and gitignore entry to properly handle MongoDB database directory (bf39ffe)
  • mongo: add readme with instructions to create the MongoDB password file (d1fd066)
  • mongodb: hide MongoDB logs (0721b8a)
  • now current player username is taken from userStore (4ad1ff0)
  • release: 0.3.0 [skip ci] (671dc52)
  • release: 0.3.0 [skip ci] (8efc27f)
  • release: 0.3.1 [skip ci] (d7d4819)
  • release: 0.3.2 [skip ci] (94cf36d)
  • remove axios as connection tool in client (5d7b88a)
  • remove console.logs (0ebe628)
  • remove index from impl and tests (coming from template) (565f166)
  • remove index.ts from server (2ed55f2)
  • remove pdf (79e37f0)
  • remove template files from frontend (2808da3)
  • remove unused deps in package.json (45c2b4c)
  • remove unused import (914119b)
  • server: set client ip for CORS policy (f8c6479)
  • server: update package lock (dce836f)
  • solve audit problems with client npm deps (88d214e)
  • solve conflicts (f15901b)
  • solve merge conflict in api.ts (b615bf5)
  • solve merge conflict in api.ts (fe8b870)
  • solve merge conflict in homeview (e3311f7)
  • solve merge conflict in index.ts (router) (04b0950)
  • solve merge conflict in landingview (f0f39fb)
  • solve merge conflict in package-lock (4760ced)
  • solve merge conflict in registrationview (7b3181d)
  • solve merge conflicts (03b6c65)
  • solve rebase conflicts in app.ts (ddb0b25)
  • solve rebase conflicts in app.ts (0aa2d64)
  • solve rebase conflicts in report (6d583a1)
  • solve rebase conflicts in report (a0fbb8e)
  • solve rebase conflicts in report (c454ac1)
  • solve rebase conflicts in report (f65dfff)
  • solve rebase conflicts in report (a1bf5be)
  • solve rebase conflicts in report (5c826cf)
  • solve rebase conflicts in report (f8e5b67)
  • solve rebase conflicts in report (6b06662)
  • solve rebase conflicts in report (e1a351a)
  • solve rebase conflicts in server app.ts (9f33c30)
  • solve rebase conflicts in server app.ts (20c7839)
  • solve rebase conflicts in server app.ts (9199df0)
  • solve rebase conflicts in server app.ts (81f090c)
  • solve rebase conflicts in server app.ts (6957cdc)
  • solve rebase conflicts in server app.ts (91deb88)
  • solve rebase conflicts in server app.ts (c219f0d)
  • solve rebase conflicts in server app.ts (577ab50)
  • solve rebase conflicts in server app.ts (0d90e7a)
  • solve rebase conflicts in server app.ts (dbee8db)
  • solve rebase conflicts in server app.ts (2cab0a5)
  • solve rebase conflicts in server package.json (dcd0493)
  • solve rebase conflicts in server package.json (dee51bb)
  • solve rebase conflicts in server package.json (af5477a)
  • solve rebase conflicts in server package.json (707d758)
  • solve rebase conflicts in server package.json (8168daf)
  • solve rebase conflicts in server package.json (d92c494)
  • solve rebase conflicts in server package.json (4de27d1)
  • solve rebase conflicts in server package.json (3355f03)
  • solve rebase conflicts in server report (d2a34bb)
  • solve rebase conflicts in server report (e8b01ef)
  • solve rebase conflicts in server report (d070191)
  • solve rebase conflicts in server report (2589878)
  • solve rebase conflicts in server report (75008b6)
  • solve rebase conflicts in server report (8ccc576)
  • solve rebase conflicts in server report (8f3163a)
  • test: improve coverage and clean match service code (10c0e17)
  • test: make tests pass and add tests (9c01dc6)
  • todo: update todo file (de7e259)
  • typo: correct a typo in docs (ba3e4ff)
  • update package lock (945fecd)
  • update package lock (480abdc)
  • update package-lock (079fc3d)
  • update package.json so that db is started in background (c46aa6e)
  • update todo (79b351e)
  • update todo (223e3b1)
  • update todo (7d4a750)
  • update todo (fa42ed3)
  • update todo (2ab74af)
  • wip: working on adhering to right socket.io conventions (like middlewares) (41a7831)
  • wip: working on starting db (9080ea7)
  • wip: working on starting db (bea5a7e)
  • wip: working on starting db (8f259c6)
  • wip: working on starting db (b686272)
  • wip: working on starting db (d0ed69b)
  • wip: working on starting db (928ae2b)
  • wip: working on starting db (eabf77d)
  • wip: working on starting db (5a6242c)
  • wip: working on starting db (01ac1b3)
  • wip: working on starting db (466cbe5)
  • wip: working on starting db (f40cfe2)
  • write docstring and edit test name (f7bd65e)

Style improvements

  • remove unused imports and exploit utils function (fdedf05)
  • test_utlis: add space to check-called (f3c8d88)

Refactoring

  • account: change account factory from methods to static class (7c84f43)
  • account: change factory method to "create" (3e071f2)
  • account: move password encryption logic from repository to model (d0539d8)
  • applied formatter to files (05dfdc6)
  • apply formatter to files (e195941)
  • cell: remove unused import in cell tests (24af84a)
  • change dates use for better testing (7a1912d)
  • change rating property from rating to value (e474003)
  • client: implement stores to organize code (7bb1679)
  • client: on MatchView (c8f5602)
  • client: remove match ID from page URL and set initial match turn (938a36e)
  • client: remove match ID from page URL and set initial match turn (fcb3269)
  • client: rename socket to server-connections providing also rest api connection (0cb079e)
  • client: rename socket to server-connections providing also rest api connection (52e2d0a)
  • controller: exploit new getAccount method in other account controller methods (aad8391)
  • docker: remove useless lines in docker-compose.yaml (3050c67)
  • docker: simplify Dockerfiles (632c5b8)
  • doc: remove unused and duplicated mockup images in res dir (5a4ef4a)
  • edit initial board state (8ea72b7)
  • extract repository test utility methods, refactor them into use in some tests (d23ca6d)
  • fix tests, remove console logs (4c3c9c7)
  • fixed formatting (5ac5b3a)
  • fixed formatting by running formatter on badly formatted files (a19d713)
  • graphics: better arrange match and board data in match view (e6593f1)
  • graphics: create images for grains visualization (2abe739)
  • graphics: improve MatchOver component (4daba7a)
  • improve file structure and naming conventions, add test for prolog engine (9ba7d6e)
  • improve function nameing (f67a988)
  • improve interface of matchmaking service (ef946e1)
  • improve matchmaking controller structure (93d903e)
  • improve matchmaking controller structure (6c74a0d)
  • improved code quality in repository tests (0400492)
  • improved code quality of check-called util functions (281ceab)
  • improved is valid match matchmaking algorithm (b8111c6)
  • improved log (76e7d1e)
  • imrove matchmaking service structure (c13e4b9)
  • let username checks not pass always in dev mode due to test (22b1a9e)
  • make prolog cells coordinates 0 indexed (e9482fa)
  • match and move objects scoping (ab6dda2)
  • merged player concept into account concept (3fd267d)
  • minor code quality improvement (e3f5cbb)
  • mock console in prolog engine and bot service tests (9c8ca9b)
  • model: edit default board configuration (208645d)
  • model: implement factories as static classes (3cf81eb)
  • move matchmaking service into matchmaking directory (5baafb1)
  • move navbar in a unique component (bf6cb03)
  • move password strength checks on its own service (e5955f6)
  • navbar: improve navbar buttons (64caf72)
  • remove debug console.logs (21d5410)
  • remove unreachable code (048d3f1)
  • remove unused function (62d4a6e)
  • remove unused function (f9300f3)
  • remove unused import (1129b73)
  • remove unused import (d273a03)
  • remove unused imports (6eae77e)
  • remove updateCandidate from candidate repository, remove rating from matchmaking candidate (c7ae5b6)
  • remove useless code and rearrange route and controller (86e7535)
  • remove useless comments (ef4fe6e)
  • remove useless template readme from client and server (295d667)
  • removed redundant line (3c05a6a)
  • rename opponent selection logic file to just logic (c6de39c)
  • rename test files (48397b0)
  • replace rating.rating with rating.value (f51ffc8)
  • repositories: implement MatchRepository class to avoid code repetition (f0a3de0)
  • repository: rename matchRepository in endedMatchRepository (9b4922c)
  • repository: unify match repositories behavior (3f60292)
  • server: improve code for addMove (a4fd061)
  • server: remove all cookie-parser reference in the server (d0d75ab)
  • server: remove useless index api from server (74b6f9a)
  • server: reworked registration API with new sockets style (378e8ab)
  • server: update cors logics in server (57294ac)
  • sockets: rename ended message to over and rewrite server-side addMove (9950f83)
  • test: separate match tests from move tests (a31c080)
  • test: use test utility function in match repository tests (30f00e0)
  • update matchmaking with async version of evaluate opponent match function (5c83f06)
  • use check-called util in player repository tests, improve check-called util (e161a6e)
  • work on improving repository class testing DRYness (ccfbfcf)
  • work on improving repository class testing DRYness (aaeb810)

0.3.0 (2025-06-30)

Features

  • account: add email to the params for register request (b29aa54)
  • account: add email validation in account model (2a9832f)
  • account: add GET /me api in account (986168b)
  • account: add jwt libs and configure it in the server sub project (2438528)
  • account: add register api with service, repo and model (6d64ff6)
  • account: add register api with service, repo and model (6c03a4e)
  • account: add the chance to change the email in the model (dae1fbc)
  • account: add username validation in account model (0c269cd)
  • account: change account login API uniqueness from email to username (untested) (fc39d4e)
  • account: create a landing and register page (93dd0a2)
  • account: create authentication middleware (ecc03a5)
  • account: create changeEmail socket event (4e37ad3)
  • account: create login api (f575934)
  • account: create logout api (c29d322)
  • account: now token is stored in cookies (ae9d73c)
  • account: working on invalidating old sessions (53c20cc)
  • account: working on retreiving correct value in account repository (2f99e7b)
  • add autentication middleware for sockets (a280d5b)
  • add base Player and Rating model (622b72d)
  • add base Player and Rating model (4a5669a)
  • add base Player and Rating model (ee76086)
  • add base Player and Rating model (34e6ad3)
  • add base Player and Rating model (c5d8f36)
  • add base Player and Rating model (7ef6d3a)
  • add current username retrieving in PlayView (b3d7b6e)
  • add default constructor to matchmakingCandidate (b656b1f)
  • add default kfactor in client rating service (642ca0f)
  • add distribute_grains to prolog program (1617543)
  • add equals to matchmaking candidate (471cf46)
  • add evaluate opponent match function (c2dd6f7)
  • add findAsync as an array extension method (e8ef5a7)
  • add findOpponentOrAddToQueue function (efaf32b)
  • add frontend matchmaking and minor fixes (f4e8e51)
  • add function to find matching opponent (31afa65)
  • add functionality to play button in play page (ef1b0f6)
  • add getCandidate to matchmaking queue repository (23827ac)
  • add getters for Rating properties (ee74fee)
  • add legal_moves to prolog program (7fa6f62)
  • add matchmaking algorithm (c4f52fd)
  • add matchmaking candidate model (c3e2bfe)
  • add matchmaking queue (5b5d7ae)
  • add matchmaking queue repository (0bfe5bc)
  • add matchmaking routine (d73946d)
  • add neighbors to prolog program (f489481)
  • add parameter to matchmaking queue factory (7bd9e0d)
  • add player repository (bc9a448)
  • add rating property to player model (1fce057)
  • add rating to matchmaking candidate (cbad60c)
  • add remove function to matchmaking queue (39075e7)
  • add requestMatchWithBot to socket options. implement matchmaking controller for request match with bot (bf867a7)
  • add rounding util implementation (67fbef7)
  • add server side matchmaking base functionality (e36f0b0)
  • add simple disconnection handling (d5bfb9b)
  • add update_cell to prolog program (1686d65)
  • add valueOf to Rating to enable operator comparisons (c3971c7)
  • base loading spinner on matchmaking implemented (c1acb5f)
  • base styling implemnted to matchmaking page (64e91bd)
  • basic ai bot move service implemented (95f2e3e)
  • board: finish implementation of board (7303258)
  • board: implement game boarb and its components, and write tests for board (91f1314)
  • client: add ratings visualization (aa8129c)
  • client: begin completion of apis in PlayView (3cce121)
  • client: complete layout of profile (e98f3af)
  • client: complete login (no css) (8f36540)
  • client: complete registration (no css) (c192d43)
  • client: create basic ui to change profile name (afc402f)
  • client: create landing page (not responsive yet) (5744fa4)
  • client: create play screen (logics not added yet) (ebd8a4c)
  • client: implement auto login (9efe8bf)
  • client: implement client-side moves application (74b2217)
  • client: implement client-side winner message (fc9565b)
  • client: implement matchOver GUI inside MatchView (c55f07a)
  • client: implement missing elements in ProfileView (c6c4826)
  • client: implement move lock when the other user is moving (b8da8d8)
  • client: inject awesome icon into the codebase (1d8f464)
  • client: make board updating reactive (e783725)
  • client: setup delete account button (da4ed07)
  • complete functionalities binded to navbar (d395999)
  • complete navbar style (48b7484)
  • configure register with auth screen too (9b467e3)
  • continue implementation of match (cd2a1e6)
  • controller: implement addMove in match controller, with tests (979ec1a)
  • controller: implement deleteMatch in match controller, with tests (eb8c648)
  • controller: implement getMatch in match controller, with tests (e4e1903)
  • controller: implement getMatchesByPlayer in match controller, with tests (55d8349)
  • controller: implement room leaving on match end (c1b6aa6)
  • cors: add cors policy logic in app.ts (b63aea5)
  • create a ping pong conversation between client and server with sockets (49da69c)
  • create nav bar in play (6f7f794)
  • decomment all predicates (6ee07fe)
  • dialog: create a simple dialog component (39abdcf)
  • finish adding db population init (0ec7fc6)
  • finish styling login view (2786d3b)
  • graphics: add board buttons coloration (dc7e506)
  • graphics: add modal window for winner message (d2413c7)
  • graphics: create NavBar element and improve match interface (93f2d59)
  • graphics: implement buttons turn-based inactivation (9b292f0)
  • graphics: implement grains vue component (2be70e1)
  • graphics: implement player in match card and custom color theme (8534547)
  • graphics: implement responsive match page (591ee16)
  • graphics: partly implement board buttons view (7bdb8e0)
  • graphics: use MDBootstrap for match view (a2a1b8d)
  • implement base prolog engine (3ed4e3a)
  • implement client reconnection (16fd123)
  • implement client side leaderboard (a5341f4)
  • implement in progress match repository, with tests (ea69892)
  • implement leaderboard account info (cfa5bca)
  • implement leaderboard service (fd675ef)
  • implement rating api and rating service client side (f7f5598)
  • implement ratingDelta and last match in PlayView (7b82ee3)
  • implement simple startMatch interaction with sockets (cb63be2)
  • implement style on leaderboard (b47a72e)
  • implement tutorial page (4ff74c8)
  • implement updateRating (50091b7)
  • implemented comparison method in Rating model (b2bb24b)
  • improve doc comments of prolog program, improve board rappresentation, decomment topple_once (0d3791a)
  • improve guest matchmaking (48eb532)
  • improved coherence of matchmaking queue repository (d805804)
  • landing: update landing using mdb (0b2d3b9)
  • libs: add rate limit on production env and install cors lib (to be used) (8813efe)
  • made Player factory method static (64c5c5b)
  • made to array of matchmaking queue return correctly ordered array (6709c12)
  • make Rating factory method static (56bfbc5)
  • match: add initial board state to match structure (14a6d6a)
  • middleware: correct auth middleware (8247bad)
  • middleware: create validator middleware (185a1a6)
  • model: implement match.winner (e242f51)
  • mongoose: add initial state to match Mongoose schema (43a5b24)
  • now users can play multiple matches one after the other (6eb937c)
  • playbot: implement matches with bot (only in auth namespace) (0069a8a)
  • plug clients to server backend (fixes in mongoose were necessary) (3e57aa0)
  • profile: change email works in front end (8e11fe4)
  • profile: change from editing username to editing email in client (4658771)
  • profile: create path in the client to arrive to profile page (0fe1d63)
  • profile: improve error handling in email changing (2b9b8db)
  • profile: update email works in server (3089178)
  • rating: implement rating update on match over (877d28c)
  • remove higherThan method in rating model (ef705b1)
  • removed waitingTime from matchmaking queue candidate (77e8607)
  • replace Glicko with Elo ranking system (8e0a8e8)
  • repository: implement feature and some tests for matchRepository deleteMatch (d2b6408)
  • repository: implement feature and some tests for matchRepository updateMatch (10861c9)
  • rework login so it uses AuthScreen (c284274)
  • routes: add routes to match routes file (209314f)
  • saving: correct implementation of match end and implement match history (81b719f)
  • server: delete all unused dependencies and comment all lines that were using them (f14d556)
  • server: delete all unused dependencies and comment all lines that were using them (014e69d)
  • server: implement basic match model structure (eedca2d)
  • server: implement db connection attempts (c8faed0)
  • server: implement delete account api (c690e29)
  • server: update db connection so it uses default variables only in development (fa2c743)
  • service: implement and test matchService.deleteMatch (d0624aa)
  • socket: creating a standard way to use sockets (e13f0fe)
  • sockets: implement simple websocket communication system (b7cf49f)
  • sockets: implement simple websocket communication system (a2eef50)
  • sockets: implement simple websocket communication system (9d71478)
  • sockets: implement simple websocket communication system (e0cfa9c)
  • sockets: implement simple websocket communication system (f3f9c23)
  • sockets: implement simple websocket communication system (5f4b044)
  • style: improve button style (e63a781)
  • style: improve landing style (b9fd326)
  • theme: improve theme management in front end (23d4bdb)
  • update opponent selection logic algorithm to take in account time passed since request (b9944fc)
  • updated matchmaking service to reflect new matchmaking algorithm (161d4ee)
  • WIP: add client styling (cc134a1)
  • WIP: add guest user to db-init (eda6015)
  • WIP: add simple login page for testing (a3492a1)
  • wip: begin implementation of board moves processing (9768945)
  • wip: begin implementation of game board (8abec16)
  • wip: begin implementation of match (36d6b87)
  • wip: implement part of match features (72695ea)
  • WIP: work at updating the email (e5345b2)
  • WIP: work on adding logic to play view (17cc90e)
  • WIP: work on db setup population (0c79b3f)
  • WIP: work on socket auth middlware and routing implementation (d763677)
  • WIP: work on styling login (1bdcaba)
  • WIP: work on using changeEmail socket event in client (ce72709)
  • WIP: working on creating endpoint for email changing in server (e4e865c)
  • wip: working on generalizing from production context in api calls (FE) (b6df177)
  • WIP: working on integrating account and matchmaking (2262861)

Dependency updates

  • core-deps: update nginx docker tag to v1.28 (#339) (92fb097)
  • core-deps: update nginx docker tag to v1.29 (#340) (13ebcf6)
  • deps: add bcrypt to hash passwords (7851a82)
  • deps: add bcrypt to hash passwords (7b8589f)
  • deps: add bcrypt to hash passwords (b34fbc2)
  • deps: add bcrypt to hash passwords (3e23c04)
  • deps: add bcrypt to hash passwords (de00099)
  • deps: add bcrypt to hash passwords (01d3920)
  • deps: add express-validator to deps (8a81273)
  • deps: add express-validator to deps (0099ed5)
  • deps: add express-validator to deps (a58baec)
  • deps: add express-validator to deps (7acb7ad)
  • deps: add helmet to server (5de07fb)
  • deps: add helmet to server (ad74131)
  • deps: add helmet to server (fc37655)
  • deps: regenerate package-lock (38c69a6)
  • deps: remove helmet deps from the root package.json (1cb9940)
  • deps: update dependency @tsconfig/node22 to v22.0.2 (#246) (e390f57)
  • deps: update dependency @types/express to v5.0.2 (#240) (3c6d572)
  • deps: update dependency @types/express to v5.0.3 (#280) (c134d43)
  • deps: update dependency @types/http-errors to v2.0.5 (#281) (2b62c7e)
  • deps: update dependency @types/jest to v30 (#297) (0da86ca)
  • deps: update dependency @types/morgan to v1.9.10 (#282) (9eb280c)
  • deps: update dependency @types/node to v22.14.1 (#175) (3ead72b)
  • deps: update dependency @types/node to v22.14.1 (#176) (7f964b6)
  • deps: update dependency @types/node to v22.15.12 (#212) (623f143)
  • deps: update dependency @types/node to v22.15.12 (#213) (dd23d3f)
  • deps: update dependency @types/node to v22.15.14 (#216) (006cf2e)
  • deps: update dependency @types/node to v22.15.14 (#217) (9854cc4)
  • deps: update dependency @types/node to v22.15.15 (#220) (b576b56)
  • deps: update dependency @types/node to v22.15.15 (#221) (ed7d62b)
  • deps: update dependency @types/node to v22.15.16 (#222) (71747cf)
  • deps: update dependency @types/node to v22.15.16 (#223) (577f0ca)
  • deps: update dependency @types/node to v22.15.17 (#224) (b816d09)
  • deps: update dependency @types/node to v22.15.17 (#225) (421ec60)
  • deps: update dependency @types/node to v22.15.18 (#232) (91dc1d2)
  • deps: update dependency @types/node to v22.15.19 (#241) (77e98dc)
  • deps: update dependency @types/node to v22.15.19 (#242) (eac3421)
  • deps: update dependency @types/node to v22.15.2 (#196) (83037d5)
  • deps: update dependency @types/node to v22.15.2 (#197) (f300e1d)
  • deps: update dependency @types/node to v22.15.20 (#249) (1b82617)
  • deps: update dependency @types/node to v22.15.21 (#248) (8f26a85)
  • deps: update dependency @types/node to v22.15.21 (#252) (5e42412)
  • deps: update dependency @types/node to v22.15.23 (#258) (7c21561)
  • deps: update dependency @types/node to v22.15.23 (#259) (78e1c83)
  • deps: update dependency @types/node to v22.15.24 (#261) (4a1deda)
  • deps: update dependency @types/node to v22.15.24 (#262) (f1cf296)
  • deps: update dependency @types/node to v22.15.27 (#266) (906bd52)
  • deps: update dependency @types/node to v22.15.27 (#267) (2ebe1da)
  • deps: update dependency @types/node to v22.15.29 (#268) (b94cb02)
  • deps: update dependency @types/node to v22.15.29 (#269) (1fe6122)
  • deps: update dependency @types/node to v22.15.3 (#200) (351cc3f)
  • deps: update dependency @types/node to v22.15.3 (#201) (2c9ed94)
  • deps: update dependency @types/node to v22.15.30 (#277) (597edfd)
  • deps: update dependency @types/node to v22.15.30 (#278) (f841534)
  • deps: update dependency @types/node to v22.15.31 (#285) (894d38c)
  • deps: update dependency @types/node to v22.15.31 (#286) (d6e7068)
  • deps: update dependency @types/node to v22.15.32 (#295) (54b9cb3)
  • deps: update dependency @types/node to v22.15.32 (#296) (8018479)
  • deps: update dependency @types/node to v22.15.33 (#316) (0128e07)
  • deps: update dependency @types/node to v22.15.33 (#317) (e9788b4)
  • deps: update dependency @vitejs/plugin-vue to v5.2.4 (#227) (630d4b5)
  • deps: update dependency @vitejs/plugin-vue to v6 (#313) (5cc690b)
  • deps: update dependency @vitejs/plugin-vue-jsx to v4.2.0 (#247) (eff8804)
  • deps: update dependency @vitejs/plugin-vue-jsx to v5 (#314) (86338dc)
  • deps: update dependency @vitest/eslint-plugin to v1.1.40 (#169) (93503fa)
  • deps: update dependency @vitest/eslint-plugin to v1.1.42 (#174) (bc529d0)
  • deps: update dependency @vitest/eslint-plugin to v1.1.43 (#184) (caf62e5)
  • deps: update dependency @vitest/eslint-plugin to v1.1.44 (#208) (b244dc9)
  • deps: update dependency @vitest/eslint-plugin to v1.2.0 (#236) (73077bf)
  • deps: update dependency @vitest/eslint-plugin to v1.2.1 (#254) (eef836c)
  • deps: update dependency @vitest/eslint-plugin to v1.2.2 (#288) (99e068e)
  • deps: update dependency @vitest/eslint-plugin to v1.2.3 (#290) (2ae32b7)
  • deps: update dependency @vitest/eslint-plugin to v1.2.4 (#291) (e482356)
  • deps: update dependency @vitest/eslint-plugin to v1.2.5 (#293) (be14ebe)
  • deps: update dependency @vitest/eslint-plugin to v1.2.7 (#298) (56ca09b)
  • deps: update dependency @vitest/eslint-plugin to v1.3.3 (#358) (ddd3360)
  • deps: update dependency @vue/eslint-config-typescript to v14.5.1 (#300) (e896ac8)
  • deps: update dependency concurrently to v9.2.0 (#307) (32d682d)
  • deps: update dependency concurrently to v9.2.0 (#308) (0dda3f8)
  • deps: update dependency cypress to v14.3.0 (#168) (98aefb0)
  • deps: update dependency cypress to v14.3.1 (#183) (ef0395d)
  • deps: update dependency cypress to v14.3.2 (#193) (ea1de73)
  • deps: update dependency cypress to v14.3.3 (#218) (49f3eba)
  • deps: update dependency cypress to v14.4.0 (#251) (fe5da7f)
  • deps: update dependency cypress to v14.4.1 (#272) (eb7dc35)
  • deps: update dependency cypress to v14.5.0 (#302) (e40358d)
  • deps: update dependency eslint to v9.25.0 (#186) (d8be8b8)
  • deps: update dependency eslint to v9.25.1 (#188) (cd131af)
  • deps: update dependency eslint to v9.26.0 (#209) (d796418)
  • deps: update dependency eslint to v9.27.0 (#239) (d3ff240)
  • deps: update dependency eslint to v9.28.0 (#270) (e142e2b)
  • deps: update dependency eslint to v9.29.0 (#292) (581bdbf)
  • deps: update dependency eslint-config-prettier to v10.1.2 (#173) (ea04b1a)
  • deps: update dependency eslint-config-prettier to v10.1.3 (#219) (1345403)
  • deps: update dependency eslint-config-prettier to v10.1.5 (#226) (eabf7db)
  • deps: update dependency eslint-plugin-cypress to v4.2.1 (#170) (d8e1fd8)
  • deps: update dependency eslint-plugin-cypress to v4.3.0 (#192) (f43ef7d)
  • deps: update dependency eslint-plugin-cypress to v5 (#265) (5eedde9)
  • deps: update dependency eslint-plugin-cypress to v5.1.0 (#274) (a80b9c4)
  • deps: update dependency eslint-plugin-import to v2.32.0 (#306) (b7fdeac)
  • deps: update dependency eslint-plugin-vue to v10.0.1 (#205) (e063dab)
  • deps: update dependency eslint-plugin-vue to v10.1.0 (#207) (cdaa945)
  • deps: update dependency eslint-plugin-vue to v10.2.0 (#279) (68f325e)
  • deps: update dependency jest to v30 (#287) (a2b08ae)
  • deps: update dependency jest to v30.0.1 (#304) (8e65a25)
  • deps: update dependency jest to v30.0.2 (#305) (a914e4f)
  • deps: update dependency jest to v30.0.3 (#318) (d43ffa7)
  • deps: update dependency jsdom to v26.1.0 (#178) (abd1a83)
  • deps: update dependency nodemon to v3.1.10 (#194) (ca158ff)
  • deps: update dependency npm-run-all2 to v8 (#210) (c05481b)
  • deps: update dependency npm-run-all2 to v8.0.2 (#237) (27a3a48)
  • deps: update dependency npm-run-all2 to v8.0.3 (#250) (cfbd049)
  • deps: update dependency npm-run-all2 to v8.0.4 (#255) (c89ce8c)
  • deps: update dependency pinia to v3.0.2 (#171) (9e44a24)
  • deps: update dependency pinia to v3.0.3 (#275) (d4cb7db)
  • deps: update dependency prettier to v3.6.0 (#309) (4ed1485)
  • deps: update dependency prettier to v3.6.0 (#310) (cd793cf)
  • deps: update dependency prettier to v3.6.1 (#319) (1911a81)
  • deps: update dependency prettier to v3.6.1 (#320) (d8a98c8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.126 (#198) (592e84f)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.127 (#204) (0032579)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.128 (#230) (6a17d4b)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.129 (#244) (a99ebbf)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.131 (#253) (0f9fe2c)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.132 (#257) (91caba8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.133 (#263) (355f1ab)
  • deps: update dependency start-server-and-test to v2.0.12 (#235) (16c53f5)
  • deps: update dependency supertest to v7.1.1 (#228) (2406b17)
  • deps: update dependency ts-jest to v29.3.2 (#177) (864c7c3)
  • deps: update dependency ts-jest to v29.3.3 (#233) (ae2218a)
  • deps: update dependency ts-jest to v29.3.4 (#238) (3f333cd)
  • deps: update dependency ts-jest to v29.4.0 (#289) (ee0dffc)
  • deps: update dependency vite to v6.2.6 (#172) (7210ea1)
  • deps: update dependency vite to v6.3.0 (#180) (07145b1)
  • deps: update dependency vite to v6.3.1 (#182) (d2644b5)
  • deps: update dependency vite to v6.3.2 (#185) (07147dc)
  • deps: update dependency vite to v6.3.3 (#195) (6fa4247)
  • deps: update dependency vite to v6.3.4 (#206) (5e91f51)
  • deps: update dependency vite to v6.3.5 (#211) (dd9f0f0)
  • deps: update dependency vite to v7 (#315) (bbc54b7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.5 (#181) (c0183f7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.6 (#202) (b34741d)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.7 (#294) (ec4d29c)
  • deps: update dependency vue to v3.5.14 (#234) (296feed)
  • deps: update dependency vue to v3.5.15 (#256) (35227fb)
  • deps: update dependency vue to v3.5.16 (#264) (6a29c37)
  • deps: update dependency vue to v3.5.17 (#303) (f750519)
  • deps: update dependency vue-router to v4.5.1 (#199) (d708109)
  • deps: update dependency vue-tsc to v2.2.10 (#191) (10faf00)
  • deps: update jest (2494996)
  • deps: update jest (88e1dd1)
  • deps: update jest (40b55a4)
  • deps: update jest (6558b57)
  • deps: update jest (3c177b0)
  • deps: update jest (37b7f08)
  • deps: update jest (a799bad)
  • deps: update jest (ac662cb)
  • deps: update node.js to >=20.0.0 <=22.15.0 (#190) (2f63bce)
  • deps: update node.js to >=20.0.0 <=22.15.1 (#231) (8b7c8fa)
  • deps: update node.js to >=20.0.0 <=22.16.0 (#245) (0ca5297)
  • deps: update node.js to >=20.0.0 <=22.17.0 (#312) (ee1a247)
  • deps: update typescript-eslint monorepo to v8.29.1 (#167) (8de8d8e)
  • deps: update typescript-eslint monorepo to v8.30.1 (#179) (0f22c6d)
  • deps: update typescript-eslint monorepo to v8.31.0 (#189) (4525001)
  • deps: update typescript-eslint monorepo to v8.31.1 (#203) (6e2d121)
  • deps: update typescript-eslint monorepo to v8.32.0 (#215) (c41ddb1)
  • deps: update typescript-eslint monorepo to v8.32.1 (#229) (6b8730e)
  • deps: update typescript-eslint monorepo to v8.33.0 (#260) (5e2bce3)
  • deps: update typescript-eslint monorepo to v8.33.1 (#273) (3cb0477)
  • deps: update typescript-eslint monorepo to v8.34.0 (#284) (783da01)
  • deps: update typescript-eslint monorepo to v8.34.1 (#299) (1bf315e)
  • deps: update typescript-eslint monorepo to v8.35.0 (#311) (7a45f44)
  • deps: update vitest monorepo to v3.1.2 (#187) (75f2a53)
  • deps: update vitest monorepo to v3.1.3 (#214) (7a6fc80)
  • deps: update vitest monorepo to v3.1.4 (#243) (7fb85cb)
  • deps: update vitest monorepo to v3.2.1 (#271) (e8ca23c)
  • deps: update vitest monorepo to v3.2.2 (#276) (df12564)
  • deps: update vitest monorepo to v3.2.3 (#283) (16b1df5)
  • deps: update vitest monorepo to v3.2.4 (#301) (222aeaf)

Bug Fixes

  • account test passes again (f8568f0)
  • account: /account/register finally works, forgot an await call (362152b)
  • account: /account/register finally works, forgot an await call (d138b6d)
  • account: fix checkPassword account model method so that it awaits (81e51a7)
  • account: fix read all accounts in account repository (111adb2)
  • account: working on restoring previous setup (e2372f6)
  • add cookie-parser to packages (91b99c0)
  • add functionality to landing tutorial button (7f5887a)
  • add grid shape to tutorial (5f7bf88)
  • add missing parenthesis (ea47a30)
  • add new username fetching to PVE matchmaking (a492739)
  • bot matches (aa5a786)
  • check if account is null (bc206c2)
  • client: correct endpoint request in login (ab08286)
  • client: remove redundant style in play view (d462ec5)
  • comment socket auth middleware as it is in a broken state (6739845)
  • correct cors in server for socket.io (cd74ab6)
  • cors: finally configure correctly cors policies (3e753e4)
  • delete duplicate file (7222cef)
  • findMatchesByPlayer should return a list of IDs, not the whole matches (b7e0652)
  • fix bug where matchmaking queue was not retrieving candidates in the db properly (d6bd47e)
  • fix bug where matchmaking queue was not saving candidates in the db properly (2667d5a)
  • fix heading problems in report for matchmaking (526be50)
  • fix heading problems in report for matchmaking (222a116)
  • fix infinite recursion on guest matchmaking (a0b669d)
  • fix matchmaking bug (4ebd209)
  • fix test for leaderboard service (8d496db)
  • graphics: grains position (dimensions to be fixed) (6ba116b)
  • graphics: piles turn highlighting (8f23c36)
  • graphics: player1 conquered piles not changing color (0c0d2a1)
  • have opponent selection logic not match a player to itself (ac94963)
  • implement rating update service (6644774)
  • matchover: socketsLeave function (de76f1f)
  • matchService addMove behavior, refactor some tests (afc9d95)
  • minor bug fixes (5b2b154)
  • minor bugs (d872143)
  • minor formatting changes (e77a658)
  • minor warning in todo fixedf' (54103fb)
  • model: board toroidal behavior (27008bc)
  • navbar: improve dialog closing logic (a5879c0)
  • playbot: wrong pile owner (ac66e67)
  • prolog: engine timeout bug (f98c47c)
  • ratingDelta and matchHistory (3e51cf3)
  • remove players from queue when match is found (9ee9b32)
  • remove references to player as it is currently unfinished (f352788)
  • remove references to rating deviation and volatility (45da736)
  • remove unfinished player model (b71d60b)
  • server tests (fe78155)
  • server: addMove not updating database (5c1a929)
  • server: rooms handling between root and auth namespace (5db358b)
  • service: add missing awaits (9805620)
  • solve minor integration bugs (5fe5f5a)
  • solve node version conflicts with main (d5f1835)
  • solve prolog test reference bug (a0b6ab0)
  • solved errors from merge with incomplete feat/matchmaking (dcafe2a)
  • solved errors from merge with incomplete feat/matchmaking (01354ca)
  • solved errors from merge with incomplete feat/matchmaking (570c3dc)
  • solved errors from merge with incomplete feat/matchmaking (4c1347f)
  • started intergrating matchmaking with match feature (fc46044)
  • successfully integrate matchmaking and match parts (254b192)
  • temporary invert coordinates in bot getMove (5800b1d)
  • test: make match controller tests pass (5154816)
  • try to fix browser autofill style issue (not solved) (4bb4257)
  • types: correct type handling so that authenticated request work (8f8140c)
  • updated npm, removed old test files (e3a5f9c)
  • updated npm, removed old test files (e9f7bfb)
  • updated npm, removed old test files (bf89c84)
  • updated npm, removed old test files (dbf452c)
  • validation: move validation to each route middleware pipeline (313d2b4)
  • WIP: working on connecting client and server (792206c)

Documentation

  • account: update account api doc (c1e2861)
  • add a todo list (3c2fb34)
  • add account word to glossary (332bf9f)
  • add API chapter in report (278d01f)
  • add BoardState to UML (56e5f48)
  • add conclusions to report, minor additions (0c474e3)
  • add deployment section to report (703971c)
  • add doc file (bc57596)
  • add explanation to diagram (77ef497)
  • add future improvemnt in doc (5afff29)
  • add Game AI implementation description to report (5ff67b0)
  • add Game AI to report (552643e)
  • add how to convert mermaid in draw.io (d9a6567)
  • add link to docs in readme (8a84005)
  • add matchmaking algorithm to report (22fdf97)
  • add matchmaking api (1460e9c)
  • add matchmaking API (6cbfb4c)
  • add matchmaking API (15cec89)
  • add matchmaking API (624a174)
  • add matchmaking API (359cb74)
  • add matchmaking API (2080cf7)
  • add matchmaking API (fb367bd)
  • add matchmaking candidate to report uml (cee50cc)
  • add matchmaking server class diagram (7c310a8)
  • add matchmaking server class diagram (28d2892)
  • add matchmaking server class diagram (e542af9)
  • add matchmaking server class diagram (2489a39)
  • add matchmaking server class diagram (f40ffc1)
  • add matchmaking server class diagram (d20861a)
  • add pages flow chart (202df16)
  • add personas and scenarios to doc (f9c473a)
  • add rating system to report (cf35ae3)
  • add requirements (3042a31)
  • add requirements (83776ff)
  • add sequence diagram for matchmaking (ff839b2)
  • add sequence diagram for matchmaking (c29acaf)
  • add sequence diagram for matchmaking (d5ddb29)
  • add simple graph for frontend component dependencies (4043e08)
  • add table of contents. fix language typo (ae81dbf)
  • add todo comment (5788c98)
  • add todo to opponent selection logic (f827eb1)
  • add typedoc (2dfd67b)
  • add uml for Ciatto question (01197d3)
  • add unique username requirement (70c97bf)
  • added a remember to (f6e04fe)
  • added brainstorming for 240225 (6d78fd0)
  • added details on helmet security library (6994f1f)
  • added developer requirements (7d6dd53)
  • added mockups, frontend and backend architecture and some detailed design (355d262)
  • added mockups, frontend and backend architecture and some detailed design (f5e49b9)
  • added vue design sistem to consider (757385d)
  • api: create api doc (89d5e54)
  • apis: update match APIs (d8052a7)
  • arrange user stories (ace2723)
  • change mermaid graph to LR graph, add hexagonal architecture dependency graph, add some detailed domain (f627ffc)
  • client: add docs (fcb5268)
  • correct match APIs (7e859e4)
  • create a todo list (8b89cdb)
  • create usecase file (17c5ec8)
  • ddd: create context map (d82fa9f)
  • ddd: update the ubiquitous language (7a17e55)
  • design: add design overview (2e7718c)
  • docker: specify the necessity of creating the MongoDB root password file (5cbaab9)
  • fix typo (8bb9513)
  • match: delete content from match uml (41d5e04)
  • match: update and organize docs (0922971)
  • match: update and organize docs (23d7b94)
  • match: update and organize docs (80b3bed)
  • match: update and organize docs (c187673)
  • minor doc fix (d826f32)
  • minor doc fixes (25ee656)
  • minor doc fixes (4670c17)
  • minor doc fixes and added some future work (0cd6575)
  • minor fixes and additions to md files (c8cff49)
  • minor fixes to personas and scenarios (4290d4b)
  • minor typos, add implemented/not implemented to matchmaking features, add new matchmanking feature in report (47d40b9)
  • pagesflow: change name online -> ranked (f21c3fa)
  • remove useless todo doc and add mermaid 2 drawio doc (cb79cd6)
  • rename match queue to matchmaking queue (6830d8b)
  • replace glicko references with elo (2771ca2)
  • report: start working on context map on report (35a094e)
  • report: update report with devops infos (9924b5e)
  • set some todoes to done (d53356b)
  • typedoc: add some typedoc (2243856)
  • uml: change mongo db to database (d276a79)
  • uml: create architecture uml (19f7208)
  • uml: create sequence diagram for user registration and login (43c4fb1)
  • uml: edit pages flow (1afc3f2)
  • uml: update ciatto question with correct composition arrows directions (cb1a946)
  • uml: update match UML (39ca8a0)
  • uml: update match UML (54b0415)
  • uml: update pages flow (9aaf46f)
  • uml: update repositories structure (371a12c)
  • update general docs and arrange match part (9d69789)
  • update match and docker docs (3d9c2d9)
  • update matchmaking sequence diagram (4f64f3a)
  • update page flow design (58803b9)
  • update report (23e4c8d)
  • update report (c83032b)
  • update requirements, update rating system doc (0fcc16b)
  • updated doc with elo system, minor improvements to doc (a85dd16)
  • wip: write match docs (faa04a1)
  • write docs on simple websocket communication system (4975c9b)
  • write SPE part (42e8bfb)

Revert previous changes

  • account: not using session for now to achieve nvp faster (4612ad5)
  • account: revert account to not include password hashing logic (2b263b5)
  • account: revert once again to the rest api version of register endpoint (8327ff8)
  • correct error on registering on the db and correct tests too (ee4309f)
  • restore previous commit since using express is mandatory (e980aaa)
  • restore previous commit since using express is mandatory (25e6290)

Tests

  • account: add account repository tests (915796b)
  • account: add tests for account repository, still not passing (7349ddc)
  • account: complete account controller tests (7a54dae)
  • account: complete account model tests (4c0a15c)
  • account: complete account service tests (4b280a8)
  • account: test controller.login (48cb741)
  • account: test get account method (5a01084)
  • account: test login controller (edfb2dd)
  • account: test login service (18e2bd2)
  • account: test login service (85f224e)
  • account: update account repository tests (b6e3116)
  • account: update account service test (a0316ae)
  • account: update register tests with email (155265f)
  • account: update tests for login api (1fde868)
  • add rating to matchmaking candidate in test (5c651b0)
  • add test for default rating creation (eeb1014)
  • add test for matchmaking controller (76246cc)
  • add test for matchmaking queue repository (b1ab2f9)
  • add tests and minor error handling improvements (2acb1f9)
  • cell: write tests for cell model (10b74c3)
  • client: delete tests linked to template files (f69c0b4)
  • client: update client template tests so that they pass again (bf2b64e)
  • config: remove setup file in tests (unused) (c6a344a)
  • controller: add tests for account controller (30f0a93)
  • controller: improve tests completeness (41876f8)
  • controller: update tests accordingly (70f3411)
  • create test for connectDB function (dc16873)
  • delete match.test.ts since it was throwing error and its not related to this branch (e41c53b)
  • fix test error (ea094da)
  • fix test for db-connection (f8c8a3a)
  • improved coverege of player repository (0464a2a)
  • match: make tests pass (d3ab444)
  • middleware: add tests for validation handler middleware (d39fbeb)
  • middleware: correct middleware tests (c71d07b)
  • middleware: test authentication socket middleware (e47f47f)
  • middleware: test error and auth middlewares (cde16c4)
  • models: add tests for account model (e7a62af)
  • model: write tests for match and move model (261172f)
  • move error test to correct folder (6c477d8)
  • pile: write tests for pile model (b58d0be)
  • replate jest toThrowError (ca58afd)
  • repository: delete account repository tests (d31b59e)
  • repository: implement tests for matchRepository createMatch (c1a10c1)
  • repository: implement tests for matchRepository findMatch (8d25ee8)
  • rework tests adopting new socket logic (6ad74e2)
  • rewrite tests for match repository and match controller (993ddef)
  • server: create tests for delete account (e9e4b83)
  • server: fix match tests (57761c6)
  • server: write tests for match (640e998)
  • service: add test for account service (985a7bb)
  • service: implement tests for match service (b365056)
  • service: improve test coverage (ac28e4c)
  • update db-connection test (b047a0e)
  • update test for matchmaking controller (88c4ad4)
  • update tests after integration (9d7baa4)
  • utils: create mock-console test util (7a49ac9)
  • wip: working on account repository tests (7f421be)

Build and continuous integration

  • add explicit return types in linter configuration (1878d60)
  • compose: update docker compose so that it starts db image with mongo-init.js (d53a68c)
  • configure nginx for client (not finished yet) (059b9d0)
  • correct client dockerfile (123c291)
  • docker: create a init script for mongo (626a535)
  • docker: update check-env-file responsibility (3d17a80)
  • docker: working on setup db image startup (91cf288)
  • docker: working on setup db image startup (ba41c15)
  • docker: working on setup db image startup (d3cf815)
  • docker: working on setup db image startup (9fd0cf6)
  • docker: working on setup db image startup (7002753)
  • docker: working on setup db image startup (06ec55d)
  • docker: working on setup db image startup (e7dafec)
  • docker: working on setup db image startup (09bf99a)
  • docker: working on setup db image startup (c71c8e0)
  • docs: remove client typedoc generation (37acb8c)
  • fix: add a small fix for let tests work on windows (066224c)
  • revert to use nginx for client (83b5a48)
  • server: distinguish between dev, production and docker production modes in server (edee13b)
  • sonar: update sonar-project.properties to ignore client momentarily (2cc38c9)
  • start: add checks and dependencies to npm start commands (e259857)
  • task: update npm root tasks (da3cae1)
  • temporarely remove e2e tests from build automation pipeline (c698d59)
  • test: update client tests to not fail if no tests are found (de6417d)
  • typedoc: correct typedoc command in build (2414652)
  • typedoc: remove typedoc from root and move to server (38f0be7)
  • workspace: improve code-workspace (60b5eff)
  • workspace: improve code-workspace (da91041)

General maintenance

  • add .envrc to gitignore (b183d61)
  • add a comment in account model (0b3a0ea)
  • add binaries folder to gitignore (c438cf1)
  • add missing imports in tests (f2d56d9)
  • add pdf files to gitingore (37ad806)
  • add todo (ee4a4c3)
  • added security library and request body json parsing (049ba81)
  • backend: correct db connection to handle both docker and local scenarios (1e3fe72)
  • client: remove useless and debug code (5e13b2b)
  • client: remove useless code in App.vue (016dd9f)
  • config: add tsconfig in the project root (64365fe)
  • config: update jest config to ignore some files (43aa0b7)
  • controller: arrange functions order (2df6b65)
  • correct some errors leaved by the merge (38677ea)
  • correct typos in doc (89348cb)
  • create vscode workspace (68d0502)
  • docker: fix Docker Compose parameters and add MongoDB container (af7c760)
  • docker: update docker-compose.yml with correct volume path (cf6b67b)
  • docker: update how docker compose startup database (9e20a2a)
  • docker: update how docker compose startup database (1a6658c)
  • docker: update how docker compose startup database (668afaf)
  • docker: update how docker compose startup database (ccb97af)
  • docker: update how docker compose startup database (e6fab18)
  • docker: update how docker compose startup database (b5b77ca)
  • docker: update how docker compose startup database (8c2958d)
  • docker: update how docker compose startup database (35ba9ea)
  • docker: update how docker compose startup database (2efcdc6)
  • fix rebase conflict on app.ts (d112ddd)
  • fix rebase conflict on app.vue (30dac32)
  • fix rebase conflict on docker-compose (3659a8d)
  • fix rebase conflict on docker-compose (38d446b)
  • fix rebase conflict on package-lock (55ea229)
  • fix rebase conflict on package-lock (615aee6)
  • fix rebase conflict on package-lock (e493144)
  • fix rebase conflict on report (c2d2743)
  • graphics: adjust players cards dimension (faab63e)
  • ignore markdown lint no inline html rule for sub tag (710b83c)
  • make tests pass (8e7f5d8)
  • merge conflict solve in server package-lock.json (5bc9872)
  • merge conflict solve in server package.json (7f60892)
  • merge conflict solve in server package.json (67a8d1e)
  • merge conflict solve in server package.json (ad74ac2)
  • merge conflict solve in server package.json (c2c2bd9)
  • merge conflict solve in server package.json (6838a71)
  • merge conflict solve in server package.json (c0a4cb4)
  • merge conflict solve in server package.json (e97fd64)
  • merge feat/lboard with dev (df53189)
  • merge feat/spinner with dev (547fd56)
  • merge: remove typedoc from root package.json (88aa8f9)
  • merge: solve merge conflict in doc.md (65c80f6)
  • mongo: add commands and gitignore entry to properly handle MongoDB database directory (bf39ffe)
  • mongo: add readme with instructions to create the MongoDB password file (d1fd066)
  • mongodb: hide MongoDB logs (0721b8a)
  • now current player username is taken from userStore (4ad1ff0)
  • release: 0.3.0 [skip ci] (8efc27f)
  • release: 0.3.1 [skip ci] (d7d4819)
  • release: 0.3.2 [skip ci] (94cf36d)
  • remove axios as connection tool in client (5d7b88a)
  • remove console.logs (0ebe628)
  • remove index from impl and tests (coming from template) (565f166)
  • remove index.ts from server (2ed55f2)
  • remove pdf (79e37f0)
  • remove template files from frontend (2808da3)
  • remove unused deps in package.json (45c2b4c)
  • remove unused import (914119b)
  • server: set client ip for CORS policy (f8c6479)
  • server: update package lock (dce836f)
  • solve audit problems with client npm deps (88d214e)
  • solve conflicts (f15901b)
  • solve merge conflict in api.ts (b615bf5)
  • solve merge conflict in api.ts (fe8b870)
  • solve merge conflict in homeview (e3311f7)
  • solve merge conflict in index.ts (router) (04b0950)
  • solve merge conflict in landingview (f0f39fb)
  • solve merge conflict in package-lock (4760ced)
  • solve merge conflict in registrationview (7b3181d)
  • solve merge conflicts (03b6c65)
  • solve rebase conflicts in app.ts (ddb0b25)
  • solve rebase conflicts in app.ts (0aa2d64)
  • solve rebase conflicts in report (6d583a1)
  • solve rebase conflicts in report (a0fbb8e)
  • solve rebase conflicts in report (c454ac1)
  • solve rebase conflicts in report (f65dfff)
  • solve rebase conflicts in report (a1bf5be)
  • solve rebase conflicts in report (5c826cf)
  • solve rebase conflicts in report (f8e5b67)
  • solve rebase conflicts in report (6b06662)
  • solve rebase conflicts in report (e1a351a)
  • solve rebase conflicts in server app.ts (9f33c30)
  • solve rebase conflicts in server app.ts (20c7839)
  • solve rebase conflicts in server app.ts (9199df0)
  • solve rebase conflicts in server app.ts (81f090c)
  • solve rebase conflicts in server app.ts (6957cdc)
  • solve rebase conflicts in server app.ts (91deb88)
  • solve rebase conflicts in server app.ts (c219f0d)
  • solve rebase conflicts in server app.ts (577ab50)
  • solve rebase conflicts in server app.ts (0d90e7a)
  • solve rebase conflicts in server app.ts (dbee8db)
  • solve rebase conflicts in server app.ts (2cab0a5)
  • solve rebase conflicts in server package.json (dcd0493)
  • solve rebase conflicts in server package.json (dee51bb)
  • solve rebase conflicts in server package.json (af5477a)
  • solve rebase conflicts in server package.json (707d758)
  • solve rebase conflicts in server package.json (8168daf)
  • solve rebase conflicts in server package.json (d92c494)
  • solve rebase conflicts in server package.json (4de27d1)
  • solve rebase conflicts in server package.json (3355f03)
  • solve rebase conflicts in server report (d2a34bb)
  • solve rebase conflicts in server report (e8b01ef)
  • solve rebase conflicts in server report (d070191)
  • solve rebase conflicts in server report (2589878)
  • solve rebase conflicts in server report (75008b6)
  • solve rebase conflicts in server report (8ccc576)
  • solve rebase conflicts in server report (8f3163a)
  • test: improve coverage and clean match service code (10c0e17)
  • test: make tests pass and add tests (9c01dc6)
  • todo: update todo file (de7e259)
  • typo: correct a typo in docs (ba3e4ff)
  • update package lock (945fecd)
  • update package lock (480abdc)
  • update package-lock (079fc3d)
  • update package.json so that db is started in background (c46aa6e)
  • update todo (79b351e)
  • update todo (223e3b1)
  • update todo (7d4a750)
  • update todo (fa42ed3)
  • update todo (2ab74af)
  • wip: working on adhering to right socket.io conventions (like middlewares) (41a7831)
  • wip: working on starting db (9080ea7)
  • wip: working on starting db (bea5a7e)
  • wip: working on starting db (8f259c6)
  • wip: working on starting db (b686272)
  • wip: working on starting db (d0ed69b)
  • wip: working on starting db (928ae2b)
  • wip: working on starting db (eabf77d)
  • wip: working on starting db (5a6242c)
  • wip: working on starting db (01ac1b3)
  • wip: working on starting db (466cbe5)
  • wip: working on starting db (f40cfe2)
  • write docstring and edit test name (f7bd65e)

Style improvements

  • remove unused imports and exploit utils function (fdedf05)
  • test_utlis: add space to check-called (f3c8d88)

Refactoring

  • account: change account factory from methods to static class (7c84f43)
  • account: change factory method to "create" (3e071f2)
  • account: move password encryption logic from repository to model (d0539d8)
  • applied formatter to files (05dfdc6)
  • apply formatter to files (e195941)
  • cell: remove unused import in cell tests (24af84a)
  • change dates use for better testing (7a1912d)
  • change rating property from rating to value (e474003)
  • client: implement stores to organize code (7bb1679)
  • client: on MatchView (c8f5602)
  • client: remove match ID from page URL and set initial match turn (938a36e)
  • client: remove match ID from page URL and set initial match turn (fcb3269)
  • client: rename socket to server-connections providing also rest api connection (0cb079e)
  • client: rename socket to server-connections providing also rest api connection (52e2d0a)
  • controller: exploit new getAccount method in other account controller methods (aad8391)
  • docker: remove useless lines in docker-compose.yaml (3050c67)
  • docker: simplify Dockerfiles (632c5b8)
  • doc: remove unused and duplicated mockup images in res dir (5a4ef4a)
  • edit initial board state (8ea72b7)
  • extract repository test utility methods, refactor them into use in some tests (d23ca6d)
  • fix tests, remove console logs (4c3c9c7)
  • fixed formatting (5ac5b3a)
  • fixed formatting by running formatter on badly formatted files (a19d713)
  • graphics: better arrange match and board data in match view (e6593f1)
  • graphics: create images for grains visualization (2abe739)
  • graphics: improve MatchOver component (4daba7a)
  • improve file structure and naming conventions, add test for prolog engine (9ba7d6e)
  • improve function nameing (f67a988)
  • improve interface of matchmaking service (ef946e1)
  • improve matchmaking controller structure (93d903e)
  • improve matchmaking controller structure (6c74a0d)
  • improved code quality in repository tests (0400492)
  • improved code quality of check-called util functions (281ceab)
  • improved is valid match matchmaking algorithm (b8111c6)
  • improved log (76e7d1e)
  • imrove matchmaking service structure (c13e4b9)
  • let username checks not pass always in dev mode due to test (22b1a9e)
  • make prolog cells coordinates 0 indexed (e9482fa)
  • match and move objects scoping (ab6dda2)
  • merged player concept into account concept (3fd267d)
  • minor code quality improvement (e3f5cbb)
  • mock console in prolog engine and bot service tests (9c8ca9b)
  • model: edit default board configuration (208645d)
  • model: implement factories as static classes (3cf81eb)
  • move matchmaking service into matchmaking directory (5baafb1)
  • move navbar in a unique component (bf6cb03)
  • move password strength checks on its own service (e5955f6)
  • navbar: improve navbar buttons (64caf72)
  • remove debug console.logs (21d5410)
  • remove unreachable code (048d3f1)
  • remove unused function (62d4a6e)
  • remove unused function (f9300f3)
  • remove unused import (1129b73)
  • remove unused import (d273a03)
  • remove unused imports (6eae77e)
  • remove updateCandidate from candidate repository, remove rating from matchmaking candidate (c7ae5b6)
  • remove useless code and rearrange route and controller (86e7535)
  • remove useless comments (ef4fe6e)
  • remove useless template readme from client and server (295d667)
  • removed redundant line (3c05a6a)
  • rename opponent selection logic file to just logic (c6de39c)
  • rename test files (48397b0)
  • replace rating.rating with rating.value (f51ffc8)
  • repositories: implement MatchRepository class to avoid code repetition (f0a3de0)
  • repository: rename matchRepository in endedMatchRepository (9b4922c)
  • repository: unify match repositories behavior (3f60292)
  • server: improve code for addMove (a4fd061)
  • server: remove all cookie-parser reference in the server (d0d75ab)
  • server: remove useless index api from server (74b6f9a)
  • server: reworked registration API with new sockets style (378e8ab)
  • server: update cors logics in server (57294ac)
  • sockets: rename ended message to over and rewrite server-side addMove (9950f83)
  • test: separate match tests from move tests (a31c080)
  • test: use test utility function in match repository tests (30f00e0)
  • update matchmaking with async version of evaluate opponent match function (5c83f06)
  • use check-called util in player repository tests, improve check-called util (e161a6e)
  • work on improving repository class testing DRYness (ccfbfcf)
  • work on improving repository class testing DRYness (aaeb810)

0.3.2 (2025-06-30)

Dependency updates

  • core-deps: update nginx docker tag to v1.29 (#340) (8ce2dd0)

0.3.1 (2025-06-29)

Dependency updates

  • core-deps: update nginx docker tag to v1.28 (#339) (51cbcc2)

0.3.0 (2025-06-29)

Features

  • account: add email to the params for register request (b29aa54)
  • account: add email validation in account model (2a9832f)
  • account: add GET /me api in account (986168b)
  • account: add jwt libs and configure it in the server sub project (2438528)
  • account: add register api with service, repo and model (6d64ff6)
  • account: add register api with service, repo and model (6c03a4e)
  • account: add the chance to change the email in the model (dae1fbc)
  • account: add username validation in account model (0c269cd)
  • account: change account login API uniqueness from email to username (untested) (fc39d4e)
  • account: create a landing and register page (93dd0a2)
  • account: create authentication middleware (ecc03a5)
  • account: create changeEmail socket event (4e37ad3)
  • account: create login api (f575934)
  • account: create logout api (c29d322)
  • account: now token is stored in cookies (ae9d73c)
  • account: working on invalidating old sessions (53c20cc)
  • account: working on retreiving correct value in account repository (2f99e7b)
  • add autentication middleware for sockets (a280d5b)
  • add base Player and Rating model (622b72d)
  • add base Player and Rating model (4a5669a)
  • add base Player and Rating model (ee76086)
  • add base Player and Rating model (34e6ad3)
  • add base Player and Rating model (c5d8f36)
  • add base Player and Rating model (7ef6d3a)
  • add current username retrieving in PlayView (b3d7b6e)
  • add default constructor to matchmakingCandidate (b656b1f)
  • add default kfactor in client rating service (642ca0f)
  • add distribute_grains to prolog program (1617543)
  • add equals to matchmaking candidate (471cf46)
  • add evaluate opponent match function (c2dd6f7)
  • add findAsync as an array extension method (e8ef5a7)
  • add findOpponentOrAddToQueue function (efaf32b)
  • add frontend matchmaking and minor fixes (f4e8e51)
  • add function to find matching opponent (31afa65)
  • add functionality to play button in play page (ef1b0f6)
  • add getCandidate to matchmaking queue repository (23827ac)
  • add getters for Rating properties (ee74fee)
  • add legal_moves to prolog program (7fa6f62)
  • add matchmaking algorithm (c4f52fd)
  • add matchmaking candidate model (c3e2bfe)
  • add matchmaking queue (5b5d7ae)
  • add matchmaking queue repository (0bfe5bc)
  • add matchmaking routine (d73946d)
  • add neighbors to prolog program (f489481)
  • add parameter to matchmaking queue factory (7bd9e0d)
  • add player repository (bc9a448)
  • add rating property to player model (1fce057)
  • add rating to matchmaking candidate (cbad60c)
  • add remove function to matchmaking queue (39075e7)
  • add requestMatchWithBot to socket options. implement matchmaking controller for request match with bot (bf867a7)
  • add rounding util implementation (67fbef7)
  • add server side matchmaking base functionality (e36f0b0)
  • add simple disconnection handling (d5bfb9b)
  • add update_cell to prolog program (1686d65)
  • add valueOf to Rating to enable operator comparisons (c3971c7)
  • base loading spinner on matchmaking implemented (c1acb5f)
  • base styling implemnted to matchmaking page (64e91bd)
  • basic ai bot move service implemented (95f2e3e)
  • board: finish implementation of board (7303258)
  • board: implement game boarb and its components, and write tests for board (91f1314)
  • client: add ratings visualization (aa8129c)
  • client: begin completion of apis in PlayView (3cce121)
  • client: complete layout of profile (e98f3af)
  • client: complete login (no css) (8f36540)
  • client: complete registration (no css) (c192d43)
  • client: create basic ui to change profile name (afc402f)
  • client: create landing page (not responsive yet) (5744fa4)
  • client: create play screen (logics not added yet) (ebd8a4c)
  • client: implement auto login (9efe8bf)
  • client: implement client-side moves application (74b2217)
  • client: implement client-side winner message (fc9565b)
  • client: implement matchOver GUI inside MatchView (c55f07a)
  • client: implement missing elements in ProfileView (c6c4826)
  • client: implement move lock when the other user is moving (b8da8d8)
  • client: inject awesome icon into the codebase (1d8f464)
  • client: make board updating reactive (e783725)
  • client: setup delete account button (da4ed07)
  • complete functionalities binded to navbar (d395999)
  • complete navbar style (48b7484)
  • configure register with auth screen too (9b467e3)
  • continue implementation of match (cd2a1e6)
  • controller: implement addMove in match controller, with tests (979ec1a)
  • controller: implement deleteMatch in match controller, with tests (eb8c648)
  • controller: implement getMatch in match controller, with tests (e4e1903)
  • controller: implement getMatchesByPlayer in match controller, with tests (55d8349)
  • controller: implement room leaving on match end (c1b6aa6)
  • cors: add cors policy logic in app.ts (b63aea5)
  • create a ping pong conversation between client and server with sockets (49da69c)
  • create nav bar in play (6f7f794)
  • decomment all predicates (6ee07fe)
  • dialog: create a simple dialog component (39abdcf)
  • finish adding db population init (0ec7fc6)
  • finish styling login view (2786d3b)
  • graphics: add board buttons coloration (dc7e506)
  • graphics: add modal window for winner message (d2413c7)
  • graphics: create NavBar element and improve match interface (93f2d59)
  • graphics: implement buttons turn-based inactivation (9b292f0)
  • graphics: implement grains vue component (2be70e1)
  • graphics: implement player in match card and custom color theme (8534547)
  • graphics: implement responsive match page (591ee16)
  • graphics: partly implement board buttons view (7bdb8e0)
  • graphics: use MDBootstrap for match view (a2a1b8d)
  • implement base prolog engine (3ed4e3a)
  • implement client reconnection (16fd123)
  • implement client side leaderboard (a5341f4)
  • implement in progress match repository, with tests (ea69892)
  • implement leaderboard account info (cfa5bca)
  • implement leaderboard service (fd675ef)
  • implement rating api and rating service client side (f7f5598)
  • implement ratingDelta and last match in PlayView (7b82ee3)
  • implement simple startMatch interaction with sockets (cb63be2)
  • implement style on leaderboard (b47a72e)
  • implement tutorial page (4ff74c8)
  • implement updateRating (50091b7)
  • implemented comparison method in Rating model (b2bb24b)
  • improve doc comments of prolog program, improve board rappresentation, decomment topple_once (0d3791a)
  • improve guest matchmaking (48eb532)
  • improved coherence of matchmaking queue repository (d805804)
  • landing: update landing using mdb (0b2d3b9)
  • libs: add rate limit on production env and install cors lib (to be used) (8813efe)
  • made Player factory method static (64c5c5b)
  • made to array of matchmaking queue return correctly ordered array (6709c12)
  • make Rating factory method static (56bfbc5)
  • match: add initial board state to match structure (14a6d6a)
  • middleware: correct auth middleware (8247bad)
  • middleware: create validator middleware (185a1a6)
  • model: implement match.winner (e242f51)
  • mongoose: add initial state to match Mongoose schema (43a5b24)
  • now users can play multiple matches one after the other (6eb937c)
  • playbot: implement matches with bot (only in auth namespace) (0069a8a)
  • plug clients to server backend (fixes in mongoose were necessary) (3e57aa0)
  • profile: change email works in front end (8e11fe4)
  • profile: change from editing username to editing email in client (4658771)
  • profile: create path in the client to arrive to profile page (0fe1d63)
  • profile: improve error handling in email changing (2b9b8db)
  • profile: update email works in server (3089178)
  • rating: implement rating update on match over (877d28c)
  • remove higherThan method in rating model (ef705b1)
  • removed waitingTime from matchmaking queue candidate (77e8607)
  • replace Glicko with Elo ranking system (8e0a8e8)
  • repository: implement feature and some tests for matchRepository deleteMatch (d2b6408)
  • repository: implement feature and some tests for matchRepository updateMatch (10861c9)
  • rework login so it uses AuthScreen (c284274)
  • routes: add routes to match routes file (209314f)
  • saving: correct implementation of match end and implement match history (81b719f)
  • server: delete all unused dependencies and comment all lines that were using them (f14d556)
  • server: delete all unused dependencies and comment all lines that were using them (014e69d)
  • server: implement basic match model structure (eedca2d)
  • server: implement db connection attempts (c8faed0)
  • server: implement delete account api (c690e29)
  • server: update db connection so it uses default variables only in development (fa2c743)
  • service: implement and test matchService.deleteMatch (d0624aa)
  • socket: creating a standard way to use sockets (e13f0fe)
  • sockets: implement simple websocket communication system (b7cf49f)
  • sockets: implement simple websocket communication system (a2eef50)
  • sockets: implement simple websocket communication system (9d71478)
  • sockets: implement simple websocket communication system (e0cfa9c)
  • sockets: implement simple websocket communication system (f3f9c23)
  • sockets: implement simple websocket communication system (5f4b044)
  • style: improve button style (e63a781)
  • style: improve landing style (b9fd326)
  • theme: improve theme management in front end (23d4bdb)
  • update opponent selection logic algorithm to take in account time passed since request (b9944fc)
  • updated matchmaking service to reflect new matchmaking algorithm (161d4ee)
  • WIP: add client styling (cc134a1)
  • WIP: add guest user to db-init (eda6015)
  • WIP: add simple login page for testing (a3492a1)
  • wip: begin implementation of board moves processing (9768945)
  • wip: begin implementation of game board (8abec16)
  • wip: begin implementation of match (36d6b87)
  • wip: implement part of match features (72695ea)
  • WIP: work at updating the email (e5345b2)
  • WIP: work on adding logic to play view (17cc90e)
  • WIP: work on db setup population (0c79b3f)
  • WIP: work on socket auth middlware and routing implementation (d763677)
  • WIP: work on styling login (1bdcaba)
  • WIP: work on using changeEmail socket event in client (ce72709)
  • WIP: working on creating endpoint for email changing in server (e4e865c)
  • wip: working on generalizing from production context in api calls (FE) (b6df177)
  • WIP: working on integrating account and matchmaking (2262861)

Dependency updates

  • deps: add bcrypt to hash passwords (7851a82)
  • deps: add bcrypt to hash passwords (7b8589f)
  • deps: add bcrypt to hash passwords (b34fbc2)
  • deps: add bcrypt to hash passwords (3e23c04)
  • deps: add bcrypt to hash passwords (de00099)
  • deps: add bcrypt to hash passwords (01d3920)
  • deps: add express-validator to deps (8a81273)
  • deps: add express-validator to deps (0099ed5)
  • deps: add express-validator to deps (a58baec)
  • deps: add express-validator to deps (7acb7ad)
  • deps: add helmet to server (5de07fb)
  • deps: add helmet to server (ad74131)
  • deps: add helmet to server (fc37655)
  • deps: regenerate package-lock (38c69a6)
  • deps: remove helmet deps from the root package.json (1cb9940)
  • deps: update dependency @tsconfig/node22 to v22.0.2 (#246) (e390f57)
  • deps: update dependency @types/express to v5.0.2 (#240) (3c6d572)
  • deps: update dependency @types/express to v5.0.3 (#280) (c134d43)
  • deps: update dependency @types/http-errors to v2.0.5 (#281) (2b62c7e)
  • deps: update dependency @types/jest to v30 (#297) (0da86ca)
  • deps: update dependency @types/morgan to v1.9.10 (#282) (9eb280c)
  • deps: update dependency @types/node to v22.14.1 (#175) (3ead72b)
  • deps: update dependency @types/node to v22.14.1 (#176) (7f964b6)
  • deps: update dependency @types/node to v22.15.12 (#212) (623f143)
  • deps: update dependency @types/node to v22.15.12 (#213) (dd23d3f)
  • deps: update dependency @types/node to v22.15.14 (#216) (006cf2e)
  • deps: update dependency @types/node to v22.15.14 (#217) (9854cc4)
  • deps: update dependency @types/node to v22.15.15 (#220) (b576b56)
  • deps: update dependency @types/node to v22.15.15 (#221) (ed7d62b)
  • deps: update dependency @types/node to v22.15.16 (#222) (71747cf)
  • deps: update dependency @types/node to v22.15.16 (#223) (577f0ca)
  • deps: update dependency @types/node to v22.15.17 (#224) (b816d09)
  • deps: update dependency @types/node to v22.15.17 (#225) (421ec60)
  • deps: update dependency @types/node to v22.15.18 (#232) (91dc1d2)
  • deps: update dependency @types/node to v22.15.19 (#241) (77e98dc)
  • deps: update dependency @types/node to v22.15.19 (#242) (eac3421)
  • deps: update dependency @types/node to v22.15.2 (#196) (83037d5)
  • deps: update dependency @types/node to v22.15.2 (#197) (f300e1d)
  • deps: update dependency @types/node to v22.15.20 (#249) (1b82617)
  • deps: update dependency @types/node to v22.15.21 (#248) (8f26a85)
  • deps: update dependency @types/node to v22.15.21 (#252) (5e42412)
  • deps: update dependency @types/node to v22.15.23 (#258) (7c21561)
  • deps: update dependency @types/node to v22.15.23 (#259) (78e1c83)
  • deps: update dependency @types/node to v22.15.24 (#261) (4a1deda)
  • deps: update dependency @types/node to v22.15.24 (#262) (f1cf296)
  • deps: update dependency @types/node to v22.15.27 (#266) (906bd52)
  • deps: update dependency @types/node to v22.15.27 (#267) (2ebe1da)
  • deps: update dependency @types/node to v22.15.29 (#268) (b94cb02)
  • deps: update dependency @types/node to v22.15.29 (#269) (1fe6122)
  • deps: update dependency @types/node to v22.15.3 (#200) (351cc3f)
  • deps: update dependency @types/node to v22.15.3 (#201) (2c9ed94)
  • deps: update dependency @types/node to v22.15.30 (#277) (597edfd)
  • deps: update dependency @types/node to v22.15.30 (#278) (f841534)
  • deps: update dependency @types/node to v22.15.31 (#285) (894d38c)
  • deps: update dependency @types/node to v22.15.31 (#286) (d6e7068)
  • deps: update dependency @types/node to v22.15.32 (#295) (54b9cb3)
  • deps: update dependency @types/node to v22.15.32 (#296) (8018479)
  • deps: update dependency @types/node to v22.15.33 (#316) (0128e07)
  • deps: update dependency @types/node to v22.15.33 (#317) (e9788b4)
  • deps: update dependency @vitejs/plugin-vue to v5.2.4 (#227) (630d4b5)
  • deps: update dependency @vitejs/plugin-vue to v6 (#313) (5cc690b)
  • deps: update dependency @vitejs/plugin-vue-jsx to v4.2.0 (#247) (eff8804)
  • deps: update dependency @vitejs/plugin-vue-jsx to v5 (#314) (86338dc)
  • deps: update dependency @vitest/eslint-plugin to v1.1.40 (#169) (93503fa)
  • deps: update dependency @vitest/eslint-plugin to v1.1.42 (#174) (bc529d0)
  • deps: update dependency @vitest/eslint-plugin to v1.1.43 (#184) (caf62e5)
  • deps: update dependency @vitest/eslint-plugin to v1.1.44 (#208) (b244dc9)
  • deps: update dependency @vitest/eslint-plugin to v1.2.0 (#236) (73077bf)
  • deps: update dependency @vitest/eslint-plugin to v1.2.1 (#254) (eef836c)
  • deps: update dependency @vitest/eslint-plugin to v1.2.2 (#288) (99e068e)
  • deps: update dependency @vitest/eslint-plugin to v1.2.3 (#290) (2ae32b7)
  • deps: update dependency @vitest/eslint-plugin to v1.2.4 (#291) (e482356)
  • deps: update dependency @vitest/eslint-plugin to v1.2.5 (#293) (be14ebe)
  • deps: update dependency @vitest/eslint-plugin to v1.2.7 (#298) (56ca09b)
  • deps: update dependency @vue/eslint-config-typescript to v14.5.1 (#300) (e896ac8)
  • deps: update dependency concurrently to v9.2.0 (#307) (32d682d)
  • deps: update dependency concurrently to v9.2.0 (#308) (0dda3f8)
  • deps: update dependency cypress to v14.3.0 (#168) (98aefb0)
  • deps: update dependency cypress to v14.3.1 (#183) (ef0395d)
  • deps: update dependency cypress to v14.3.2 (#193) (ea1de73)
  • deps: update dependency cypress to v14.3.3 (#218) (49f3eba)
  • deps: update dependency cypress to v14.4.0 (#251) (fe5da7f)
  • deps: update dependency cypress to v14.4.1 (#272) (eb7dc35)
  • deps: update dependency cypress to v14.5.0 (#302) (e40358d)
  • deps: update dependency eslint to v9.25.0 (#186) (d8be8b8)
  • deps: update dependency eslint to v9.25.1 (#188) (cd131af)
  • deps: update dependency eslint to v9.26.0 (#209) (d796418)
  • deps: update dependency eslint to v9.27.0 (#239) (d3ff240)
  • deps: update dependency eslint to v9.28.0 (#270) (e142e2b)
  • deps: update dependency eslint to v9.29.0 (#292) (581bdbf)
  • deps: update dependency eslint-config-prettier to v10.1.2 (#173) (ea04b1a)
  • deps: update dependency eslint-config-prettier to v10.1.3 (#219) (1345403)
  • deps: update dependency eslint-config-prettier to v10.1.5 (#226) (eabf7db)
  • deps: update dependency eslint-plugin-cypress to v4.2.1 (#170) (d8e1fd8)
  • deps: update dependency eslint-plugin-cypress to v4.3.0 (#192) (f43ef7d)
  • deps: update dependency eslint-plugin-cypress to v5 (#265) (5eedde9)
  • deps: update dependency eslint-plugin-cypress to v5.1.0 (#274) (a80b9c4)
  • deps: update dependency eslint-plugin-import to v2.32.0 (#306) (b7fdeac)
  • deps: update dependency eslint-plugin-vue to v10.0.1 (#205) (e063dab)
  • deps: update dependency eslint-plugin-vue to v10.1.0 (#207) (cdaa945)
  • deps: update dependency eslint-plugin-vue to v10.2.0 (#279) (68f325e)
  • deps: update dependency jest to v30 (#287) (a2b08ae)
  • deps: update dependency jest to v30.0.1 (#304) (8e65a25)
  • deps: update dependency jest to v30.0.2 (#305) (a914e4f)
  • deps: update dependency jest to v30.0.3 (#318) (d43ffa7)
  • deps: update dependency jsdom to v26.1.0 (#178) (abd1a83)
  • deps: update dependency nodemon to v3.1.10 (#194) (ca158ff)
  • deps: update dependency npm-run-all2 to v8 (#210) (c05481b)
  • deps: update dependency npm-run-all2 to v8.0.2 (#237) (27a3a48)
  • deps: update dependency npm-run-all2 to v8.0.3 (#250) (cfbd049)
  • deps: update dependency npm-run-all2 to v8.0.4 (#255) (c89ce8c)
  • deps: update dependency pinia to v3.0.2 (#171) (9e44a24)
  • deps: update dependency pinia to v3.0.3 (#275) (d4cb7db)
  • deps: update dependency prettier to v3.6.0 (#309) (4ed1485)
  • deps: update dependency prettier to v3.6.0 (#310) (cd793cf)
  • deps: update dependency prettier to v3.6.1 (#319) (1911a81)
  • deps: update dependency prettier to v3.6.1 (#320) (d8a98c8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.126 (#198) (592e84f)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.127 (#204) (0032579)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.128 (#230) (6a17d4b)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.129 (#244) (a99ebbf)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.131 (#253) (0f9fe2c)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.132 (#257) (91caba8)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.133 (#263) (355f1ab)
  • deps: update dependency start-server-and-test to v2.0.12 (#235) (16c53f5)
  • deps: update dependency supertest to v7.1.1 (#228) (2406b17)
  • deps: update dependency ts-jest to v29.3.2 (#177) (864c7c3)
  • deps: update dependency ts-jest to v29.3.3 (#233) (ae2218a)
  • deps: update dependency ts-jest to v29.3.4 (#238) (3f333cd)
  • deps: update dependency ts-jest to v29.4.0 (#289) (ee0dffc)
  • deps: update dependency vite to v6.2.6 (#172) (7210ea1)
  • deps: update dependency vite to v6.3.0 (#180) (07145b1)
  • deps: update dependency vite to v6.3.1 (#182) (d2644b5)
  • deps: update dependency vite to v6.3.2 (#185) (07147dc)
  • deps: update dependency vite to v6.3.3 (#195) (6fa4247)
  • deps: update dependency vite to v6.3.4 (#206) (5e91f51)
  • deps: update dependency vite to v6.3.5 (#211) (dd9f0f0)
  • deps: update dependency vite to v7 (#315) (bbc54b7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.5 (#181) (c0183f7)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.6 (#202) (b34741d)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.7 (#294) (ec4d29c)
  • deps: update dependency vue to v3.5.14 (#234) (296feed)
  • deps: update dependency vue to v3.5.15 (#256) (35227fb)
  • deps: update dependency vue to v3.5.16 (#264) (6a29c37)
  • deps: update dependency vue to v3.5.17 (#303) (f750519)
  • deps: update dependency vue-router to v4.5.1 (#199) (d708109)
  • deps: update dependency vue-tsc to v2.2.10 (#191) (10faf00)
  • deps: update jest (2494996)
  • deps: update jest (88e1dd1)
  • deps: update jest (40b55a4)
  • deps: update jest (6558b57)
  • deps: update jest (3c177b0)
  • deps: update jest (37b7f08)
  • deps: update jest (a799bad)
  • deps: update jest (ac662cb)
  • deps: update node.js to >=20.0.0 <=22.15.0 (#190) (2f63bce)
  • deps: update node.js to >=20.0.0 <=22.15.1 (#231) (8b7c8fa)
  • deps: update node.js to >=20.0.0 <=22.16.0 (#245) (0ca5297)
  • deps: update node.js to >=20.0.0 <=22.17.0 (#312) (ee1a247)
  • deps: update typescript-eslint monorepo to v8.29.1 (#167) (8de8d8e)
  • deps: update typescript-eslint monorepo to v8.30.1 (#179) (0f22c6d)
  • deps: update typescript-eslint monorepo to v8.31.0 (#189) (4525001)
  • deps: update typescript-eslint monorepo to v8.31.1 (#203) (6e2d121)
  • deps: update typescript-eslint monorepo to v8.32.0 (#215) (c41ddb1)
  • deps: update typescript-eslint monorepo to v8.32.1 (#229) (6b8730e)
  • deps: update typescript-eslint monorepo to v8.33.0 (#260) (5e2bce3)
  • deps: update typescript-eslint monorepo to v8.33.1 (#273) (3cb0477)
  • deps: update typescript-eslint monorepo to v8.34.0 (#284) (783da01)
  • deps: update typescript-eslint monorepo to v8.34.1 (#299) (1bf315e)
  • deps: update typescript-eslint monorepo to v8.35.0 (#311) (7a45f44)
  • deps: update vitest monorepo to v3.1.2 (#187) (75f2a53)
  • deps: update vitest monorepo to v3.1.3 (#214) (7a6fc80)
  • deps: update vitest monorepo to v3.1.4 (#243) (7fb85cb)
  • deps: update vitest monorepo to v3.2.1 (#271) (e8ca23c)
  • deps: update vitest monorepo to v3.2.2 (#276) (df12564)
  • deps: update vitest monorepo to v3.2.3 (#283) (16b1df5)
  • deps: update vitest monorepo to v3.2.4 (#301) (222aeaf)

Bug Fixes

  • account test passes again (5c80f8f)
  • account: /account/register finally works, forgot an await call (362152b)
  • account: /account/register finally works, forgot an await call (d138b6d)
  • account: fix checkPassword account model method so that it awaits (81e51a7)
  • account: fix read all accounts in account repository (111adb2)
  • account: working on restoring previous setup (e2372f6)
  • add cookie-parser to packages (91b99c0)
  • add functionality to landing tutorial button (7f5887a)
  • add missing parenthesis (ea47a30)
  • add new username fetching to PVE matchmaking (a492739)
  • bot matches (aa5a786)
  • check if account is null (bc206c2)
  • client: correct endpoint request in login (ab08286)
  • client: remove redundant style in play view (d462ec5)
  • comment socket auth middleware as it is in a broken state (6739845)
  • correct cors in server for socket.io (cd74ab6)
  • cors: finally configure correctly cors policies (3e753e4)
  • delete duplicate file (7222cef)
  • findMatchesByPlayer should return a list of IDs, not the whole matches (b7e0652)
  • fix bug where matchmaking queue was not retrieving candidates in the db properly (d6bd47e)
  • fix bug where matchmaking queue was not saving candidates in the db properly (2667d5a)
  • fix heading problems in report for matchmaking (526be50)
  • fix heading problems in report for matchmaking (222a116)
  • fix infinite recursion on guest matchmaking (a0b669d)
  • fix matchmaking bug (4ebd209)
  • fix test for leaderboard service (8d496db)
  • graphics: grains position (dimensions to be fixed) (6ba116b)
  • graphics: piles turn highlighting (8f23c36)
  • graphics: player1 conquered piles not changing color (0c0d2a1)
  • have opponent selection logic not match a player to itself (ac94963)
  • implement rating update service (6644774)
  • matchover: socketsLeave function (de76f1f)
  • matchService addMove behavior, refactor some tests (afc9d95)
  • minor bug fixes (5b2b154)
  • minor bugs (d872143)
  • minor formatting changes (e77a658)
  • minor warning in todo fixedf' (54103fb)
  • model: board toroidal behavior (27008bc)
  • navbar: improve dialog closing logic (a5879c0)
  • playbot: wrong pile owner (ac66e67)
  • prolog: engine timeout bug (f98c47c)
  • ratingDelta and matchHistory (3e51cf3)
  • remove players from queue when match is found (9ee9b32)
  • remove references to player as it is currently unfinished (f352788)
  • remove references to rating deviation and volatility (45da736)
  • remove unfinished player model (b71d60b)
  • server tests (fe78155)
  • server: addMove not updating database (5c1a929)
  • server: rooms handling between root and auth namespace (5db358b)
  • service: add missing awaits (9805620)
  • solve minor integration bugs (5fe5f5a)
  • solve node version conflicts with main (d5f1835)
  • solve prolog test reference bug (a0b6ab0)
  • solved errors from merge with incomplete feat/matchmaking (dcafe2a)
  • solved errors from merge with incomplete feat/matchmaking (01354ca)
  • solved errors from merge with incomplete feat/matchmaking (570c3dc)
  • solved errors from merge with incomplete feat/matchmaking (4c1347f)
  • started intergrating matchmaking with match feature (fc46044)
  • successfully integrate matchmaking and match parts (254b192)
  • temporary invert coordinates in bot getMove (5800b1d)
  • test: make match controller tests pass (5154816)
  • try to fix browser autofill style issue (not solved) (4bb4257)
  • types: correct type handling so that authenticated request work (8f8140c)
  • updated npm, removed old test files (e3a5f9c)
  • updated npm, removed old test files (e9f7bfb)
  • updated npm, removed old test files (bf89c84)
  • updated npm, removed old test files (dbf452c)
  • validation: move validation to each route middleware pipeline (313d2b4)
  • WIP: working on connecting client and server (792206c)

Documentation

  • account: update account api doc (c1e2861)
  • add a todo list (3c2fb34)
  • add account word to glossary (332bf9f)
  • add API chapter in report (278d01f)
  • add BoardState to UML (56e5f48)
  • add conclusions to report, minor additions (0c474e3)
  • add deployment section to report (703971c)
  • add doc file (bc57596)
  • add explanation to diagram (77ef497)
  • add future improvemnt in doc (5afff29)
  • add Game AI implementation description to report (5ff67b0)
  • add Game AI to report (552643e)
  • add how to convert mermaid in draw.io (d9a6567)
  • add link to docs in readme (8a84005)
  • add matchmaking algorithm to report (22fdf97)
  • add matchmaking api (1460e9c)
  • add matchmaking API (6cbfb4c)
  • add matchmaking API (15cec89)
  • add matchmaking API (624a174)
  • add matchmaking API (359cb74)
  • add matchmaking API (2080cf7)
  • add matchmaking API (fb367bd)
  • add matchmaking candidate to report uml (cee50cc)
  • add matchmaking server class diagram (7c310a8)
  • add matchmaking server class diagram (28d2892)
  • add matchmaking server class diagram (e542af9)
  • add matchmaking server class diagram (2489a39)
  • add matchmaking server class diagram (f40ffc1)
  • add matchmaking server class diagram (d20861a)
  • add pages flow chart (202df16)
  • add personas and scenarios to doc (f9c473a)
  • add rating system to report (cf35ae3)
  • add requirements (3042a31)
  • add requirements (83776ff)
  • add sequence diagram for matchmaking (ff839b2)
  • add sequence diagram for matchmaking (c29acaf)
  • add sequence diagram for matchmaking (d5ddb29)
  • add simple graph for frontend component dependencies (4043e08)
  • add table of contents. fix language typo (ae81dbf)
  • add todo comment (5788c98)
  • add todo to opponent selection logic (f827eb1)
  • add typedoc (2dfd67b)
  • add uml for Ciatto question (01197d3)
  • add unique username requirement (70c97bf)
  • added a remember to (f6e04fe)
  • added brainstorming for 240225 (6d78fd0)
  • added details on helmet security library (6994f1f)
  • added developer requirements (7d6dd53)
  • added mockups, frontend and backend architecture and some detailed design (355d262)
  • added mockups, frontend and backend architecture and some detailed design (f5e49b9)
  • added vue design sistem to consider (757385d)
  • api: create api doc (89d5e54)
  • apis: update match APIs (d8052a7)
  • arrange user stories (ace2723)
  • change mermaid graph to LR graph, add hexagonal architecture dependency graph, add some detailed domain (f627ffc)
  • client: add docs (fcb5268)
  • correct match APIs (7e859e4)
  • create a todo list (8b89cdb)
  • create usecase file (17c5ec8)
  • ddd: create context map (d82fa9f)
  • ddd: update the ubiquitous language (7a17e55)
  • design: add design overview (2e7718c)
  • docker: specify the necessity of creating the MongoDB root password file (5cbaab9)
  • fix typo (8bb9513)
  • match: delete content from match uml (41d5e04)
  • match: update and organize docs (0922971)
  • match: update and organize docs (23d7b94)
  • match: update and organize docs (80b3bed)
  • match: update and organize docs (c187673)
  • minor doc fix (d826f32)
  • minor doc fixes (25ee656)
  • minor doc fixes (4670c17)
  • minor doc fixes and added some future work (0cd6575)
  • minor fixes and additions to md files (c8cff49)
  • minor fixes to personas and scenarios (4290d4b)
  • minor typos, add implemented/not implemented to matchmaking features, add new matchmanking feature in report (47d40b9)
  • pagesflow: change name online -> ranked (f21c3fa)
  • remove useless todo doc and add mermaid 2 drawio doc (cb79cd6)
  • rename match queue to matchmaking queue (6830d8b)
  • replace glicko references with elo (2771ca2)
  • report: start working on context map on report (35a094e)
  • report: update report with devops infos (9924b5e)
  • set some todoes to done (d53356b)
  • typedoc: add some typedoc (2243856)
  • uml: change mongo db to database (d276a79)
  • uml: create architecture uml (19f7208)
  • uml: create sequence diagram for user registration and login (43c4fb1)
  • uml: edit pages flow (1afc3f2)
  • uml: update ciatto question with correct composition arrows directions (cb1a946)
  • uml: update match UML (39ca8a0)
  • uml: update match UML (54b0415)
  • uml: update pages flow (9aaf46f)
  • uml: update repositories structure (371a12c)
  • update general docs and arrange match part (9d69789)
  • update match and docker docs (3d9c2d9)
  • update matchmaking sequence diagram (4f64f3a)
  • update page flow design (58803b9)
  • update report (23e4c8d)
  • update report (c83032b)
  • update requirements, update rating system doc (0fcc16b)
  • updated doc with elo system, minor improvements to doc (a85dd16)
  • wip: write match docs (faa04a1)
  • write docs on simple websocket communication system (4975c9b)
  • write SPE part (42e8bfb)

Revert previous changes

  • account: not using session for now to achieve nvp faster (4612ad5)
  • account: revert account to not include password hashing logic (2b263b5)
  • account: revert once again to the rest api version of register endpoint (8327ff8)
  • correct error on registering on the db and correct tests too (ee4309f)
  • restore previous commit since using express is mandatory (e980aaa)
  • restore previous commit since using express is mandatory (25e6290)

Tests

  • account: add account repository tests (915796b)
  • account: add tests for account repository, still not passing (7349ddc)
  • account: complete account controller tests (7a54dae)
  • account: complete account model tests (4c0a15c)
  • account: complete account service tests (4b280a8)
  • account: test controller.login (48cb741)
  • account: test get account method (5a01084)
  • account: test login controller (edfb2dd)
  • account: test login service (18e2bd2)
  • account: test login service (85f224e)
  • account: update account repository tests (b6e3116)
  • account: update account service test (a0316ae)
  • account: update register tests with email (155265f)
  • account: update tests for login api (1fde868)
  • add rating to matchmaking candidate in test (5c651b0)
  • add test for default rating creation (eeb1014)
  • add test for matchmaking controller (76246cc)
  • add test for matchmaking queue repository (b1ab2f9)
  • add tests and minor error handling improvements (2acb1f9)
  • cell: write tests for cell model (10b74c3)
  • client: delete tests linked to template files (f69c0b4)
  • client: update client template tests so that they pass again (bf2b64e)
  • config: remove setup file in tests (unused) (c6a344a)
  • controller: add tests for account controller (30f0a93)
  • controller: improve tests completeness (41876f8)
  • controller: update tests accordingly (70f3411)
  • create test for connectDB function (dc16873)
  • delete match.test.ts since it was throwing error and its not related to this branch (e41c53b)
  • fix test error (ea094da)
  • fix test for db-connection (f8c8a3a)
  • improved coverege of player repository (0464a2a)
  • match: make tests pass (d3ab444)
  • middleware: add tests for validation handler middleware (d39fbeb)
  • middleware: correct middleware tests (c71d07b)
  • middleware: test authentication socket middleware (e47f47f)
  • middleware: test error and auth middlewares (cde16c4)
  • models: add tests for account model (e7a62af)
  • model: write tests for match and move model (261172f)
  • move error test to correct folder (6c477d8)
  • pile: write tests for pile model (b58d0be)
  • replate jest toThrowError (69d0254)
  • repository: delete account repository tests (d31b59e)
  • repository: implement tests for matchRepository createMatch (c1a10c1)
  • repository: implement tests for matchRepository findMatch (8d25ee8)
  • rework tests adopting new socket logic (6ad74e2)
  • rewrite tests for match repository and match controller (993ddef)
  • server: create tests for delete account (e9e4b83)
  • server: fix match tests (57761c6)
  • server: write tests for match (640e998)
  • service: add test for account service (985a7bb)
  • service: implement tests for match service (b365056)
  • service: improve test coverage (ac28e4c)
  • update db-connection test (b047a0e)
  • update test for matchmaking controller (88c4ad4)
  • update tests after integration (9d7baa4)
  • utils: create mock-console test util (7a49ac9)
  • wip: working on account repository tests (7f421be)

Build and continuous integration

  • add explicit return types in linter configuration (1878d60)
  • compose: update docker compose so that it starts db image with mongo-init.js (d53a68c)
  • configure nginx for client (not finished yet) (059b9d0)
  • correct client dockerfile (123c291)
  • docker: create a init script for mongo (626a535)
  • docker: update check-env-file responsibility (3d17a80)
  • docker: working on setup db image startup (91cf288)
  • docker: working on setup db image startup (ba41c15)
  • docker: working on setup db image startup (d3cf815)
  • docker: working on setup db image startup (9fd0cf6)
  • docker: working on setup db image startup (7002753)
  • docker: working on setup db image startup (06ec55d)
  • docker: working on setup db image startup (e7dafec)
  • docker: working on setup db image startup (09bf99a)
  • docker: working on setup db image startup (c71c8e0)
  • docs: remove client typedoc generation (37acb8c)
  • fix: add a small fix for let tests work on windows (066224c)
  • revert to use nginx for client (83b5a48)
  • server: distinguish between dev, production and docker production modes in server (edee13b)
  • sonar: update sonar-project.properties to ignore client momentarily (2cc38c9)
  • start: add checks and dependencies to npm start commands (e259857)
  • task: update npm root tasks (da3cae1)
  • temporarely remove e2e tests from build automation pipeline (c698d59)
  • test: update client tests to not fail if no tests are found (de6417d)
  • typedoc: correct typedoc command in build (2414652)
  • typedoc: remove typedoc from root and move to server (38f0be7)
  • workspace: improve code-workspace (60b5eff)
  • workspace: improve code-workspace (da91041)

General maintenance

  • add .envrc to gitignore (b183d61)
  • add a comment in account model (0b3a0ea)
  • add binaries folder to gitignore (c438cf1)
  • add missing imports in tests (f2d56d9)
  • add pdf files to gitingore (37ad806)
  • add todo (ee4a4c3)
  • added security library and request body json parsing (049ba81)
  • backend: correct db connection to handle both docker and local scenarios (1e3fe72)
  • client: remove useless and debug code (5e13b2b)
  • client: remove useless code in App.vue (016dd9f)
  • config: add tsconfig in the project root (64365fe)
  • config: update jest config to ignore some files (43aa0b7)
  • controller: arrange functions order (2df6b65)
  • correct some errors leaved by the merge (38677ea)
  • correct typos in doc (89348cb)
  • create vscode workspace (68d0502)
  • docker: fix Docker Compose parameters and add MongoDB container (af7c760)
  • docker: update docker-compose.yml with correct volume path (cf6b67b)
  • docker: update how docker compose startup database (9e20a2a)
  • docker: update how docker compose startup database (1a6658c)
  • docker: update how docker compose startup database (668afaf)
  • docker: update how docker compose startup database (ccb97af)
  • docker: update how docker compose startup database (e6fab18)
  • docker: update how docker compose startup database (b5b77ca)
  • docker: update how docker compose startup database (8c2958d)
  • docker: update how docker compose startup database (35ba9ea)
  • docker: update how docker compose startup database (2efcdc6)
  • fix rebase conflict on app.ts (d112ddd)
  • fix rebase conflict on app.vue (30dac32)
  • fix rebase conflict on docker-compose (3659a8d)
  • fix rebase conflict on docker-compose (38d446b)
  • fix rebase conflict on package-lock (55ea229)
  • fix rebase conflict on package-lock (615aee6)
  • fix rebase conflict on package-lock (e493144)
  • fix rebase conflict on report (c2d2743)
  • graphics: adjust players cards dimension (faab63e)
  • ignore markdown lint no inline html rule for sub tag (710b83c)
  • make tests pass (8e7f5d8)
  • merge conflict solve in server package-lock.json (5bc9872)
  • merge conflict solve in server package.json (7f60892)
  • merge conflict solve in server package.json (67a8d1e)
  • merge conflict solve in server package.json (ad74ac2)
  • merge conflict solve in server package.json (c2c2bd9)
  • merge conflict solve in server package.json (6838a71)
  • merge conflict solve in server package.json (c0a4cb4)
  • merge conflict solve in server package.json (e97fd64)
  • merge feat/lboard with dev (df53189)
  • merge feat/spinner with dev (547fd56)
  • merge: remove typedoc from root package.json (88aa8f9)
  • merge: solve merge conflict in doc.md (65c80f6)
  • mongo: add commands and gitignore entry to properly handle MongoDB database directory (bf39ffe)
  • mongo: add readme with instructions to create the MongoDB password file (d1fd066)
  • mongodb: hide MongoDB logs (0721b8a)
  • now current player username is taken from userStore (4ad1ff0)
  • remove axios as connection tool in client (5d7b88a)
  • remove console.logs (0ebe628)
  • remove index from impl and tests (coming from template) (565f166)
  • remove index.ts from server (2ed55f2)
  • remove pdf (79e37f0)
  • remove template files from frontend (2808da3)
  • remove unused deps in package.json (45c2b4c)
  • remove unused import (914119b)
  • server: set client ip for CORS policy (f8c6479)
  • server: update package lock (dce836f)
  • solve audit problems with client npm deps (88d214e)
  • solve conflicts (f15901b)
  • solve merge conflict in api.ts (b615bf5)
  • solve merge conflict in api.ts (fe8b870)
  • solve merge conflict in homeview (e3311f7)
  • solve merge conflict in index.ts (router) (04b0950)
  • solve merge conflict in landingview (f0f39fb)
  • solve merge conflict in package-lock (4760ced)
  • solve merge conflict in registrationview (7b3181d)
  • solve merge conflicts (03b6c65)
  • solve rebase conflicts in app.ts (ddb0b25)
  • solve rebase conflicts in app.ts (0aa2d64)
  • solve rebase conflicts in report (6d583a1)
  • solve rebase conflicts in report (a0fbb8e)
  • solve rebase conflicts in report (c454ac1)
  • solve rebase conflicts in report (f65dfff)
  • solve rebase conflicts in report (a1bf5be)
  • solve rebase conflicts in report (5c826cf)
  • solve rebase conflicts in report (f8e5b67)
  • solve rebase conflicts in report (6b06662)
  • solve rebase conflicts in report (e1a351a)
  • solve rebase conflicts in server app.ts (9f33c30)
  • solve rebase conflicts in server app.ts (20c7839)
  • solve rebase conflicts in server app.ts (9199df0)
  • solve rebase conflicts in server app.ts (81f090c)
  • solve rebase conflicts in server app.ts (6957cdc)
  • solve rebase conflicts in server app.ts (91deb88)
  • solve rebase conflicts in server app.ts (c219f0d)
  • solve rebase conflicts in server app.ts (577ab50)
  • solve rebase conflicts in server app.ts (0d90e7a)
  • solve rebase conflicts in server app.ts (dbee8db)
  • solve rebase conflicts in server app.ts (2cab0a5)
  • solve rebase conflicts in server package.json (dcd0493)
  • solve rebase conflicts in server package.json (dee51bb)
  • solve rebase conflicts in server package.json (af5477a)
  • solve rebase conflicts in server package.json (707d758)
  • solve rebase conflicts in server package.json (8168daf)
  • solve rebase conflicts in server package.json (d92c494)
  • solve rebase conflicts in server package.json (4de27d1)
  • solve rebase conflicts in server package.json (3355f03)
  • solve rebase conflicts in server report (d2a34bb)
  • solve rebase conflicts in server report (e8b01ef)
  • solve rebase conflicts in server report (d070191)
  • solve rebase conflicts in server report (2589878)
  • solve rebase conflicts in server report (75008b6)
  • solve rebase conflicts in server report (8ccc576)
  • solve rebase conflicts in server report (8f3163a)
  • test: improve coverage and clean match service code (10c0e17)
  • test: make tests pass and add tests (9c01dc6)
  • todo: update todo file (de7e259)
  • typo: correct a typo in docs (ba3e4ff)
  • update package lock (945fecd)
  • update package lock (480abdc)
  • update package-lock (079fc3d)
  • update package.json so that db is started in background (c46aa6e)
  • update todo (79b351e)
  • update todo (223e3b1)
  • update todo (7d4a750)
  • update todo (fa42ed3)
  • update todo (2ab74af)
  • wip: working on adhering to right socket.io conventions (like middlewares) (41a7831)
  • wip: working on starting db (9080ea7)
  • wip: working on starting db (bea5a7e)
  • wip: working on starting db (8f259c6)
  • wip: working on starting db (b686272)
  • wip: working on starting db (d0ed69b)
  • wip: working on starting db (928ae2b)
  • wip: working on starting db (eabf77d)
  • wip: working on starting db (5a6242c)
  • wip: working on starting db (01ac1b3)
  • wip: working on starting db (466cbe5)
  • wip: working on starting db (f40cfe2)
  • write docstring and edit test name (f7bd65e)

Style improvements

  • remove unused imports and exploit utils function (fdedf05)
  • test_utlis: add space to check-called (f3c8d88)

Refactoring

  • account: change account factory from methods to static class (7c84f43)
  • account: change factory method to "create" (3e071f2)
  • account: move password encryption logic from repository to model (d0539d8)
  • applied formatter to files (05dfdc6)
  • apply formatter to files (e195941)
  • cell: remove unused import in cell tests (24af84a)
  • change dates use for better testing (7a1912d)
  • change rating property from rating to value (e474003)
  • client: implement stores to organize code (7bb1679)
  • client: on MatchView (c8f5602)
  • client: remove match ID from page URL and set initial match turn (938a36e)
  • client: remove match ID from page URL and set initial match turn (fcb3269)
  • client: rename socket to server-connections providing also rest api connection (0cb079e)
  • client: rename socket to server-connections providing also rest api connection (52e2d0a)
  • controller: exploit new getAccount method in other account controller methods (aad8391)
  • docker: remove useless lines in docker-compose.yaml (3050c67)
  • docker: simplify Dockerfiles (632c5b8)
  • doc: remove unused and duplicated mockup images in res dir (5a4ef4a)
  • edit initial board state (8ea72b7)
  • extract repository test utility methods, refactor them into use in some tests (d23ca6d)
  • fix tests, remove console logs (4c3c9c7)
  • fixed formatting (5ac5b3a)
  • fixed formatting by running formatter on badly formatted files (a19d713)
  • graphics: better arrange match and board data in match view (e6593f1)
  • graphics: create images for grains visualization (2abe739)
  • graphics: improve MatchOver component (4daba7a)
  • improve file structure and naming conventions, add test for prolog engine (9ba7d6e)
  • improve function nameing (f67a988)
  • improve interface of matchmaking service (ef946e1)
  • improve matchmaking controller structure (93d903e)
  • improve matchmaking controller structure (6c74a0d)
  • improved code quality in repository tests (0400492)
  • improved code quality of check-called util functions (281ceab)
  • improved is valid match matchmaking algorithm (b8111c6)
  • improved log (76e7d1e)
  • imrove matchmaking service structure (c13e4b9)
  • let username checks not pass always in dev mode due to test (22b1a9e)
  • make prolog cells coordinates 0 indexed (e9482fa)
  • match and move objects scoping (ab6dda2)
  • merged player concept into account concept (3fd267d)
  • minor code quality improvement (e3f5cbb)
  • mock console in prolog engine and bot service tests (9c8ca9b)
  • model: edit default board configuration (208645d)
  • model: implement factories as static classes (3cf81eb)
  • move matchmaking service into matchmaking directory (5baafb1)
  • move navbar in a unique component (bf6cb03)
  • move password strength checks on its own service (e5955f6)
  • navbar: improve navbar buttons (64caf72)
  • remove debug console.logs (21d5410)
  • remove unreachable code (048d3f1)
  • remove unused function (62d4a6e)
  • remove unused function (f9300f3)
  • remove unused import (1129b73)
  • remove unused import (d273a03)
  • remove unused imports (6eae77e)
  • remove updateCandidate from candidate repository, remove rating from matchmaking candidate (c7ae5b6)
  • remove useless code and rearrange route and controller (86e7535)
  • remove useless comments (ef4fe6e)
  • remove useless template readme from client and server (295d667)
  • removed redundant line (3c05a6a)
  • rename opponent selection logic file to just logic (c6de39c)
  • rename test files (48397b0)
  • replace rating.rating with rating.value (f51ffc8)
  • repositories: implement MatchRepository class to avoid code repetition (f0a3de0)
  • repository: rename matchRepository in endedMatchRepository (9b4922c)
  • repository: unify match repositories behavior (3f60292)
  • server: improve code for addMove (a4fd061)
  • server: remove all cookie-parser reference in the server (d0d75ab)
  • server: remove useless index api from server (74b6f9a)
  • server: reworked registration API with new sockets style (378e8ab)
  • server: update cors logics in server (57294ac)
  • sockets: rename ended message to over and rewrite server-side addMove (9950f83)
  • test: separate match tests from move tests (a31c080)
  • test: use test utility function in match repository tests (30f00e0)
  • update matchmaking with async version of evaluate opponent match function (5c83f06)
  • use check-called util in player repository tests, improve check-called util (e161a6e)
  • work on improving repository class testing DRYness (ccfbfcf)
  • work on improving repository class testing DRYness (aaeb810)

0.2.17 (2025-04-08)

Dependency updates

  • core-deps: update dependency typescript to v5.8.3 (#165) (4b623b3)
  • deps: update dependency @tsconfig/node22 to v22.0.1 (#140) (08a1689)
  • deps: update dependency @types/express to v5.0.1 (#134) (960f9aa)
  • deps: update dependency @types/node to v22.13.10 (#122) (86cc59b)
  • deps: update dependency @types/node to v22.13.10 (#123) (a589bc9)
  • deps: update dependency @types/node to v22.13.11 (#137) (ee24b9a)
  • deps: update dependency @types/node to v22.13.11 (#138) (0abad93)
  • deps: update dependency @types/node to v22.13.13 (#141) (d18c197)
  • deps: update dependency @types/node to v22.13.13 (#142) (b64df70)
  • deps: update dependency @types/node to v22.13.14 (#149) (f94c176)
  • deps: update dependency @types/node to v22.13.14 (#150) (de2c3bf)
  • deps: update dependency @types/node to v22.13.16 (#156) (3976b9d)
  • deps: update dependency @types/node to v22.13.16 (#157) (a87416f)
  • deps: update dependency @types/node to v22.13.17 (#158) (ed2aece)
  • deps: update dependency @types/node to v22.13.17 (#159) (86761f6)
  • deps: update dependency @types/node to v22.14.0 (#161) (6f2b459)
  • deps: update dependency @types/node to v22.14.0 (#162) (412e571)
  • deps: update dependency @types/supertest to v6.0.3 (#146) (71d87b4)
  • deps: update dependency @vitejs/plugin-vue to v5.2.2 (#129) (94f8c68)
  • deps: update dependency @vitejs/plugin-vue to v5.2.3 (#131) (b7df650)
  • deps: update dependency @vitejs/plugin-vue-jsx to v4.1.2 (#130) (a75c10d)
  • deps: update dependency @vitest/eslint-plugin to v1.1.37 (#125) (060686c)
  • deps: update dependency @vitest/eslint-plugin to v1.1.38 (#133) (89c9bff)
  • deps: update dependency @vitest/eslint-plugin to v1.1.39 (#160) (b96f535)
  • deps: update dependency cypress to v14.2.0 (#126) (bf91bfe)
  • deps: update dependency cypress to v14.2.1 (#148) (f065532)
  • deps: update dependency eslint to v9.22.0 (#121) (92bfa26)
  • deps: update dependency eslint to v9.23.0 (#139) (5512be7)
  • deps: update dependency eslint to v9.24.0 (#164) (7c877dc)
  • deps: update dependency eslint-config-prettier to v10.0.3 (#118) (faa9e6c)
  • deps: update dependency eslint-config-prettier to v10.1.1 (#119) (b056895)
  • deps: update dependency eslint-plugin-cypress to v4.2.0 (#120) (b91d943)
  • deps: update dependency eslint-plugin-vue to v10 (#114) (f11e07a)
  • deps: update dependency express to v5 (#151) (0d125e7)
  • deps: update dependency sonarqube-scanner to v4.3.0 (#145) (60b9cad)
  • deps: update dependency start-server-and-test to v2.0.11 (#127) (048a3c0)
  • deps: update dependency supertest to v7.1.0 (#136) (a51a6cd)
  • deps: update dependency ts-jest to v29.3.0 (#143) (5c07b23)
  • deps: update dependency ts-jest to v29.3.1 (#154) (b2240ef)
  • deps: update dependency vite to v6.2.1 (#117) (5748b9f)
  • deps: update dependency vite to v6.2.2 (#128) (e4f88fe)
  • deps: update dependency vite to v6.2.3 (#144) (064e868)
  • deps: update dependency vite to v6.2.4 (#152) (3588da6)
  • deps: update dependency vite to v6.2.5 (#163) (7548100)
  • deps: update typescript-eslint monorepo to v8.26.1 (#124) (9419374)
  • deps: update typescript-eslint monorepo to v8.27.0 (#135) (c824404)
  • deps: update typescript-eslint monorepo to v8.28.0 (#147) (c6e5f14)
  • deps: update typescript-eslint monorepo to v8.29.0 (#155) (4820771)
  • deps: update vitest monorepo to v3.0.8 (#116) (0b27f5d)
  • deps: update vitest monorepo to v3.0.9 (#132) (55c526d)
  • deps: update vitest monorepo to v3.1.1 (#153) (e95df5b)

0.2.16 (2025-03-09)

Dependency updates

  • core-deps: update dependency typescript to ~5.8.0 (#101) (26155a0)
  • deps: update dependency @vue/eslint-config-typescript to v14.5.0 (#115) (769d0e5)
  • deps: update dependency eslint-plugin-vue to v9.33.0 (#113) (fe9c5dc)

0.2.15 (2025-03-07)

Dependency updates

  • core-deps: update dependency typescript to v5.8.2 (#100) (877fade)
  • deps: update dependency @types/express to v5 (#60) (2e9001d)
  • deps: update dependency @types/jest to v27 (#69) (25915b8)
  • deps: update dependency @types/jest to v28 (#74) (7a7b712)
  • deps: update dependency @types/jest to v29 (#75) (d7cbfe8)
  • deps: update dependency @types/node to v22 (#59) (f7974c3)
  • deps: update dependency @types/node to v22.13.5 (#65) (be5757d)
  • deps: update dependency @types/node to v22.13.5 (#66) (fff8dc4)
  • deps: update dependency @types/node to v22.13.7 (#102) (9df41fe)
  • deps: update dependency @types/node to v22.13.7 (#103) (e66ec67)
  • deps: update dependency @types/node to v22.13.8 (#104) (b9267a0)
  • deps: update dependency @types/node to v22.13.8 (#105) (3286eee)
  • deps: update dependency @types/node to v22.13.9 (#110) (1bb7e1f)
  • deps: update dependency @types/node to v22.13.9 (#111) (0ca2f44)
  • deps: update dependency @types/supertest to v6 (#70) (e29f47f)
  • deps: update dependency @vitest/eslint-plugin to v1.1.35 (#95) (ff83ccc)
  • deps: update dependency @vitest/eslint-plugin to v1.1.36 (#98) (edf02e3)
  • deps: update dependency concurrently to v7 (#71) (dd37965)
  • deps: update dependency concurrently to v8 (#76) (0cedd60)
  • deps: update dependency concurrently to v9 (#77) (a75a4d2)
  • deps: update dependency cypress to v14.1.0 (#96) (62befc7)
  • deps: update dependency eslint to v8 (#72) (30f8384)
  • deps: update dependency eslint to v9 (#85) (f2fa746)
  • deps: update dependency eslint to v9.21.0 (#68) (0a2ed95)
  • deps: update dependency eslint-config-prettier to v10 (#86) (c4c98ac)
  • deps: update dependency eslint-config-prettier to v10.0.2 (#97) (c46b303)
  • deps: update dependency http-errors to v2 (#78) (347dcd3)
  • deps: update dependency prettier to v3 (#79) (2a9c95f)
  • deps: update dependency prettier to v3.5.2 (#88) (386b41f)
  • deps: update dependency prettier to v3.5.2 (#89) (3a7caaf)
  • deps: update dependency prettier to v3.5.3 (#108) (7a09474)
  • deps: update dependency prettier to v3.5.3 (#109) (ae31425)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.125 (#63) (50fb857)
  • deps: update dependency sonarqube-scanner to v4.2.7 (#62) (e505ef3)
  • deps: update dependency sonarqube-scanner to v4.2.8 (#99) (13ff9b7)
  • deps: update dependency supertest to v6.3.4 (#67) (5c30616)
  • deps: update dependency supertest to v7 (#80) (5ada7ca)
  • deps: update dependency ts-jest to v29.2.6 (#90) (f77b79f)
  • deps: update dependency vite to v6.1.1 (#64) (fb24007)
  • deps: update dependency vite to v6.2.0 (#94) (4fc3433)
  • deps: update dependency vue-tsc to v2.2.4 (#91) (7dcd324)
  • deps: update dependency vue-tsc to v2.2.6 (#106) (44c01ef)
  • deps: update dependency vue-tsc to v2.2.8 (#107) (640da9f)
  • deps: update typescript-eslint monorepo to v5 (#81) (cae3b8a)
  • deps: update typescript-eslint monorepo to v6 (#82) (46329c5)
  • deps: update typescript-eslint monorepo to v7 (#83) (de7fc97)
  • deps: update typescript-eslint monorepo to v8 (#84) (437576f)
  • deps: update typescript-eslint monorepo to v8.25.0 (#93) (21857a7)
  • deps: update typescript-eslint monorepo to v8.26.0 (#112) (173c2c6)
  • deps: update vitest monorepo to v3.0.6 (#61) (180894f)
  • deps: update vitest monorepo to v3.0.7 (#92) (f218f20)

Build and continuous integration

  • deps: update dependency macos github actions runner to v14 (#87) (f4581a7)
  • revert: undo renovate status check names addition (f7df22c)
  • try adding status check names to renovate config in order to automerge (be227bb)
  • update cancel in progress concurrency strategy in build-test (794b338)
  • update cancel-in-progress computation (8c7a776)
  • update concurrency logic in build-&-test (862803b)
  • update concurrency logic in build-&-test (a8ff8ea)
  • update concurrency strategy in build-test (c9e1f72)
  • update jobs names (f0b1dbf)
  • update send notification job (aa3e5c3)

General maintenance

  • config: try to fix renovate not automerging (906902f)
  • correct typo (8cc577d)

0.2.14 (2025-02-19)

Dependency updates

  • core-deps: update node.js to v22 (#58) (d333009)

0.2.13 (2025-02-19)

Dependency updates

  • core-deps: update node.js to v20 (0212e14)
  • deps: update dependency @types/node to v20.17.18 (#51) (927b203)
  • deps: update dependency @types/node to v20.17.19 (#54) (63cf403)
  • deps: update dependency @types/node to v22.13.2 (#52) (c9e1262)
  • deps: update dependency @types/node to v22.13.4 (#55) (832079c)
  • deps: update dependency @vitest/eslint-plugin to v1.1.26 (#37) (b6f546b)
  • deps: update dependency @vitest/eslint-plugin to v1.1.27 (#41) (67ec5d6)
  • deps: update dependency @vitest/eslint-plugin to v1.1.28 (#44) (b2b3336)
  • deps: update dependency @vitest/eslint-plugin to v1.1.31 (#49) (c6befa9)
  • deps: update dependency @vue/eslint-config-typescript to v14.4.0 (#42) (c2fdca3)
  • deps: update dependency cypress to v14.0.3 (#45) (f4383a5)
  • deps: update dependency eslint to v9.20.0 (#39) (eb21798)
  • deps: update dependency eslint to v9.20.1 (#46) (73a45f6)
  • deps: update dependency pinia to v3 (#48) (d33e033)
  • deps: update dependency prettier to v3.5.0 (#43) (0b4b265)
  • deps: update dependency prettier to v3.5.1 (#53) (d0585c9)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.122 (#35) (04c3f09)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.123 (#50) (f4e1670)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.124 (#56) (a71c6e8)
  • deps: update dependency vite to v6.1.0 (#36) (7721ac6)
  • deps: update dependency vite-plugin-vue-devtools to v7.7.2 (#47) (831d828)
  • deps: update dependency vue-tsc to v2.2.2 (#57) (51343b3)

Build and continuous integration

  • semrel: update semantic release docker hub publish command (0533cf2)
  • should not fail on renovate main pushes (5f5dbd0)

General maintenance

  • config: add tasks for Docker in npm (507bb35)
  • config: edit node version (f18d35b)
  • docker: make containers work and write docker compose file (29ff308)

0.2.12 (2025-02-07)

Dependency updates

  • core-deps: update node.js to v20 (#38) (9697d1c)
  • deps: update cypress version (client e2e test engine) (a165841)

0.2.11 (2025-02-07)

Dependency updates

  • deps: update dependency @types/node to v22.13.1 (#34) (dc61e8d)
  • deps: update dependency semantic-release-preconfigured-conventional-commits to v1.1.121 (#30) (18bbdf1)
  • deps: update vitest monorepo to v3.0.5 (#31) (c28e011)

Bug Fixes

  • config: correct client/router/ path to exclude it from test coverage (ad8f42b)

Tests

  • add test for App.vue (574cca2)
  • client: add tests for router and stores, exclude current views to test and coverage (45376f1)
  • client: add tests for TheWelcome.vue (f2e3800)
  • client: exclude env.d.ts to coverage (3404809)
  • client: remove useless test for router/index.ts (4701c57)

Build and continuous integration

  • update build job in order to install compatible @types/node version (a367e0a)
  • update build job in order to install compatible @types/node version (c11accc)
  • update build job in order to install compatible @types/node version (6f1bb93)
  • update notification job (c53a04b)

General maintenance

  • config: exclude client/router/ files from test coverage (b24e394)
  • config: exclude cypress files from test coverage (b885065)
  • config: fix email in package.json (148e0e6)
  • config: update sonar config file (0746929)
  • delete temporarely TheWelcome test (807a275)
  • test: fix server tests config (9a4a855)
  • test: ignore files for server test coverage (7016d46)

Refactoring

  • move app test file from components/test to client root (0064a01)
  • move test directory from client/components/test to client/test (2ca4e40)
  • server: move server/src/test to server/test (ce6c17b)

0.2.10 (2025-02-04)

Dependency updates

  • core-deps: update dependency typescript to v5 (#32) (34cba69)

Build and continuous integration

  • ignoring ci for renovate branches and also avoid interruption for main branch (20cd5fa)
  • update concurrency strategy (ccc45c4)
  • update concurrency strategy (0295d47)

General maintenance

  • let renovate await a status check before merging (5725ef9)
  • re-add renovate.json (a2e5efe)
  • remove previous renovate configuration (77b7452)
  • update renovate package rules (1221772)

0.2.9 (2025-02-04)

Revert previous changes

  • remove renovate.json to restart from scratch (c33a708)

Build and continuous integration

  • add a more fine grained concurrency handling (70c43de)
  • add pull request ci trigger (4916b3d)
  • change all ubuntu-latest to 24.04 (d821be9)
  • correct concurrency group for build test job (8a5f56a)
  • update concurrency group (e9e1a7d)

General maintenance

  • add ISSUE TEMPLATE and PULL REQUEST TEMPLATE (02230a8)
  • Merge pull request #1 from AndreaB2000/renovate/configure (c0ce8a7)
  • update renovate configuration file (de338af)

0.2.8 (2025-02-04)

Bug Fixes

  • add darwin os as compatible operating systems in package.json (1c8deca)
  • change compatible os from windows to win32 (bc3f3de)
  • correct signing process (1c71ffa)
  • move signing from release.config.js to task of release job (1902aa3)
  • try to sign the project with a gha (ed67de3)

Revert previous changes

  • restore ci build matrix (1cbfc39)

Build and continuous integration

  • remove tree command (not supported by macos) (8706c20)

0.2.7 (2025-02-03)

Bug Fixes

  • change github loaded asset from tar.gz.sig to tar.gz.asc (0b56784)

General maintenance

  • forget to add #!/bin/bash (8d1d2cb)

0.2.6 (2025-02-03)

Bug Fixes

  • forget to pass prepare command to sem-rel/exec (9c1819f)
  • move tar.gz file into dist folder (81ff929)
  • passing passphrase and private key to sem-rel (b3b1fe5)

Build and continuous integration

0.2.5 (2025-02-03)

Bug Fixes

  • fake commit to trigger a new release (6c17984)

Build and continuous integration

General maintenance

0.2.4 (2025-02-03)

Revert previous changes

  • restore previous package.json (1197c2d)

General maintenance

0.2.3 (2025-02-03)

Bug Fixes

  • build: trying to not specify files item to package.json file (0a7750f)

Build and continuous integration

  • change how builds are inserted into dist folder (147cbaa)
  • fix build.bat (5636493)

General maintenance

  • add a tree print to see what's wrong with build script in ci env (087945c)
  • add cool infos in package.json (7105ed0)
  • second try (3f3295f)
  • third try (1fe5a3e)

0.2.2 (2025-02-03)

Documentation

  • update readme with all npm commands (e7ca211)

Build and continuous integration

  • add changelog, license and readme file to build artifact (77f6509)
  • avoid test file compilation in server (1d7b82b)

0.2.1 (2025-02-03)

Bug Fixes

  • fake commit to trigger a new release (1da3706)

Documentation

Build and continuous integration

  • add build task within release job (16aabe7)
  • add files item to package.json (b91800c)
  • change pkgRoot for npm to dist directory (96bf3fa)
  • create npm run set-hooks command (dd339f1)
  • fix: replace all 'src/' occurence with '' in dist/package.json (7f1469b)
  • update build command (5baf487)
  • update dockerfile to restore its functionality (342b724)

Refactoring

  • change sonar.javascript to sonar.typescript (4759bda)
  • create a separate build script (daf49a9)

0.2.0 (2025-02-02)

Features

  • add client template project, still not checked all files (1e19cb4)
  • add server template project, still not checked all files (c663dc3)
  • create template server (d45f0c1)

Documentation

  • add sonarqube stats to readme (55d7f43)

Revert previous changes

Tests

  • fix template tests (so that they pass) (e433deb)

Build and continuous integration

  • add automatic build before running e2e tests (ff7c263)
  • add branch name so that sonar does not ignore it (4a1706c)
  • add commented build pipeline (254d14b)
  • add sonar cloud to the pipeline (4819150)
  • add test command and install deps command (0b0f30f)
  • add test command before generating sonar analysis (27c746e)
  • configure package.json (04359ef)
  • create build matrix (5626f95)
  • let sonarqube exclude tests folder from src files (02e4352)
  • move sonarqube from matrix to independent task (eb30045)
  • setup sonarqube (5716b0b)
  • working on build matrix (6aae273)

General maintenance

  • add authors names to package.json (3cec249)
  • create a list of all todo devops (90491b3)
  • rebase ci onto dev (31883a4)
  • selected the latest version for semantic-release-preconfigured-conventional-commits (bb83af8)
  • typo (3d64516)
  • update githook echo message (1c8b795)

Style improvements

  • move token arg from .properties file to ci cd pipeline file (f7fb2da)

Refactoring

  • change scripts:dev -> scripts:serve (09ce947)
  • change var with const and let (eae31b8)
  • move configuration files from server/client to root where possible (3689b0a)
  • remove some useless files in server and move one to .vscode due to its importance (746bb78)

0.1.3 (2025-01-29)

Bug Fixes

  • let the package be public (c50d0d9)

0.1.2 (2025-01-29)

Bug Fixes

  • empty commit to test semantic-release (830c7fd)

Build and continuous integration

  • add some features to push to npm, also add hello world script (05967f2)
  • change commit message for semantic release (4064d95)
  • change release.config.js in order to push to docker (38cf45a)
  • fix docker login job (1ebd8a4)
  • fix package name so that is a scoped package (5ba4437)

Style improvements

  • remove comments in github action yaml file (bbb7dcc)

0.1.1 (2025-01-28)

Documentation

Build and continuous integration

  • add configuration for semantic-release (0bb3a17)
  • added semantic-release to the project along with gitignore and attributes (69091c9)
  • back-up git hooks (6a75a66)
  • change filippogurioli-> andreabiagini5 (cef8815)
  • create ci pipeline (950c053)
  • created valid (hopefully) semantic-release action (e8e12be)
  • let send-notification depend on release (4767800)
  • let send-notification notify a failed pipeline (a845d10)
  • trying to leave directly to Release task docker password (9ae490b)
  • update a bit send notification task (fe71e44)
  • update a bit send notification task (a4f2ee8)
  • working on integrating Docker (b39f09f)

General maintenance

  • remove a line in send notification output (23a82b3)
  • typo (4d58f7a)
  • update package-lock (runned npm i) (6cedb32)
  • updated git attributes (ec6e617)