Tekninen määritelmä
BrewOS on PHP/MariaDB-sovellus, jota operoidaan Linux-palvelimilla. Järjestelmän teknisestäsuunnittelusta ja kehityksestä vastaa BrewOS
Ohjelmistokoodissa on laajasti hyödynnetty erilaisia open source-projekteja niiden määrittelemillä lisenssiehdoilla, kuten:
- Twig 3 - HTML-luontiin tarkoitettu kirjasto (template engine)
- PHPMailer - sähköpostitoteutus PHP:lle
- PHP Markdown - markdown-tekstin toteutus PHP:lle
- PHP Barcode Generator - viivakoodien toteutus PHP:lle
- mPDF - PDF-dokumenttien PHP-kirjasto
- PhpSpreadsheet - taulukkolaskentatiedostojen PHP-toteutus
Lisäksi toteutuksessa on hyödynnetty seuraavia HTML/Javascript-projekteja ja resursseja:
- Bootstrap - käyttöliittymäkirjasto
- jQuery - javascript-laajennus
- jQuery Cookie - javascript-laajennus
- Sortable - javascript-laajennus
- Material Icons - ikonit
- Google Fonts - Noto ja Serif
- Front page Icons made by xnimrodx from www.flaticon.com
Teknisen toteutuksen keskeiset piirteet
Ohjelmistoarkkitehtuuri perustuu MVC-malliin.
Ohjelmisto ja sen tietomalli on suunniteltu useamman toistaan erillisen tahon samanaikaiseen käyttöön. Tiedot jaetuissa tietokantatauluissa viittellä
Tietokanta hyödyntää laajasti foreign key (vierasavaimia) kannan eheyden varmistamiseksi. Lisäksi ohjelmisto suorittaa kaikki muokkaukset tietokanta-transaktioina, joiden sisällä tapahtuvat mahdolliset virheet laukaisevat automaattisen rollbackin.
Operointi
Järjestelmä toimii Cloud Cityn kotimaisessa ja laadukkaasti toteutetussa konesalissa.
Varmuuskopiointi perustuu kaiken pysyvän tiedon ylläpitämiseen tietokannassa, josta otetaan vuorokausittain varmuuskopio. Paikallisesti säilytetään 7 viimeisintä kopiota, sekä katastrofaalisen häiriötilanteen varalta varmuuskopiot kopioidaan automaattisesti myös Amazonin pilvipalveluun.
Ohjelmistokehityksen laatu
Ohjelmisto ylläpidetään Git-versionhallinnassa.
Kaikille keskeisille luokille on tehty yksikkötestit (PHP Unit)