Commit graph

28 commits

Author SHA1 Message Date
74ca3fd696 Add GPL3 Licence headers to sources 2022-04-06 20:49:54 +09:00
89b9bf860b Working multiplayer between frontend backend
WIP Need to set the URL and host the backend on the website.
2022-04-06 18:43:17 +09:00
8c84aae173 605.607 WIP! working get-id and disconnect
The frontend "server" and backend server must be served via the same
port/address. This can be done by using nginx as the server, and using
reverse-proxies from nginx to the frontend and backend servers.
2022-04-06 13:39:12 +09:00
8712d4cd8b frontend: WIP! request id in progress
Frontend is able to successfully send a Request, but is failing to
get/parse the Response.
2022-04-05 18:16:04 +09:00
2a7a961c9c Minor refactorings 2022-04-01 20:04:40 +09:00
c8eb6ab5be Impl turn timeouts, db entry timeouts
AI takes a players turn if they take too long on their turn (currently
set to 25 seconds).
Backend times out player/game entries in database.
2022-04-01 19:52:46 +09:00
d851d90640 Refactorings, split lengthy code into separate fn 2022-04-01 17:37:37 +09:00
0d9e35dd28 Refactorings and bug fixes
Protocol was also updated to match the output from the backend.
Fixed "id" not returning as an integer from the backend.
2022-04-01 17:17:42 +09:00
8782a731bc Move some backend fns to the shared "state.rs" 2022-03-31 21:02:52 +09:00
dbb1c3ad35 backend: Impl "place_token" protocol
Some edge-cases might not be addressed.

Need to impl. "timers" for clearing out stale entries in the database.
2022-03-31 20:38:22 +09:00
473e76a1bc Impl disconnect protocol (and related changes)
Players can now make a "disconnect" request, and requests for
"game_state" will respond once that an opponent has disconnected before
removing the game from the DB.
2022-03-31 17:38:03 +09:00
fbf47027ef backend: refactorings, impl "board_state" query
Implemented the fifth backend protocol request/response ("board_state").
Some refactorings involve improving readability from handling unwrapping Option
of &Connection objects.
2022-03-30 20:44:18 +09:00
c5b9156df3 backend: Some refactoring
Reuse "check if player exists" fn where needed. Also, the same fn was
refactored to handle using an existing DB Connection.
2022-03-29 17:10:12 +09:00
fe56adf562 backend: Impl second backend protocol query 2022-03-29 17:02:57 +09:00
545b5a3a1b backend: Move fn init_conn into handler struct 2022-03-29 15:05:23 +09:00
40b2333767 Refactor db_handler to use struct to split up code
Also refactored the GetID send value type.
2022-03-29 15:03:08 +09:00
ec7f664c81 Symlink/adapt shared code from frontend to backend 2022-03-29 14:45:49 +09:00
e7c3670498 backend: Update db_handler's db spec. 2022-03-28 17:13:32 +09:00
a1668aa0b6 backend: Remove "games.date_changed" from db spec. 2022-03-28 17:12:01 +09:00
760a6bda4f backend: Add "date_added" column to db spec. 2022-03-28 17:10:49 +09:00
fcd20af9bd backend: Use enum to handle multiple db requests 2022-03-28 16:31:53 +09:00
6c47ce948b Impl graceful shutdown of backend on failure 2022-03-18 23:43:15 +09:00
5a0c0696d1 Impl enough backend to assign ids to players 2022-03-18 19:29:38 +09:00
2cedc0804f Refactoring/cleanup of backend 2022-03-16 13:10:21 +09:00
b9921e6f47 Have backend always return JSON String 2022-03-16 13:09:07 +09:00
97ca4adecc Refactorings/fixes for back-end 2022-03-16 12:31:18 +09:00
7c4d38549f Update backend protocol, skeleton backend project 2022-03-16 12:26:18 +09:00
3d61c0d626 Back-end skeleton project, backend protocol spec 2022-03-14 14:33:51 +09:00