1. Wstęp
Dokument architektury systemu ma na celu przedstawienie wizji architektury, wraz z uzasadnieniami i uargumentowaniem słuszności przyjętych rozwiązań. Opisana architektura może ulec zmianom, zwłaszcza w fazie implementacji, jednak ogólny obraz realizacji poszczególnych jej elementów nie powinien ulec większym modyfikacjom.
2.1. Serwer
Serwer rozgrywek umożliwia prowadzenie walk pomiędzy botami różnych użytkowników, bez ujawniania implementacji tych botów. Planowane jest stworzenie ogólnodostępnej aplikacji serwera tak, aby każdy użytkownik był w stanie w stanie ją zainstalować i zarządzać własnym serwerem.
2.2. Aplikacja klienta
Aplikacja klienta służy do wizualizacji prowadzonych gier i jest aplikacją projektu z którą najczęściej będzie miał do czynienia użytkownik. Aplikacja klienta będzie umożliwiała zapisywanie i odtwarzanie powtórek z wybranych rozgrywek, a także tworzenie pojedynków bez dostępu do serwera gry.
2.3. Baza danych
Baza danych znajduje się na każdym serwerze i służy do przechowywania danych niezbędnych to jego działania. Baza danych serwera zawiera informacje o użytkownikach, wyekspediowanych na serwer botach, dostępnych mapach oraz prowadzonych grach. Informacje z bazy są pobierane przez użytkowników w trakcie np. tworzenia nowej gry lub ekspediowania botów i map na serwer (lub importowania ich stamtąd).
Systemem zarządzania bazą w projekcie Quaike jest SQLite.
2.4. Edytor map
Edytor map jest dodatkową aplikacją, pozwalającą użytkownikowi w wygodny sposób tworzyć nowe plansze oraz oglądać i modyfikować już istniejące. Za pośrednictwem edytora jest również możliwy import map z serwera i ich eksport.
2.5. Pliki konfiguracyjne
Pliki konfiguracyjne zapisywane są w formacie XML i znajdują się w nich zarówno informacje o konfiguracji interfejsu użytkownika, jak i dotyczące mechaniki i zasad działania systemu (w wersji lokalnej).
Edycja plików konfiguracyjnych serwera pozwala na zmiany zasad rządzących rozgrywką.
3