Guthub izveidot master branch jaunu Visual Studio Solution un WPF based projektu pēc līdzīgas struktūras kā ChromSword Offline https://github.com/asya-ai/chromsword-aqbd
Projekta uzbūve
ChromSword AQbD Manager.exe
ChromSword.AQbD.UserInterface.dll (komponentes, pēc iespējas vairāk visu dalīt komponentēs)
ChromSword.AQbD.Controllers.dll (strādā ar models klasēm, pārsvarā static functions, kuras izsauc UI)
ControllerClientServerAPI, lai ar JSON api komunicētu ar Client Server (esošajā ChromSword 5 projektā jau ir piemēri kā to darīt)
ChromSword.AQbD.Models.dll. serializējamas klases, kurās nav nekādu loģikas funkciju, tikai dati, bet jāņem vērā, ka nebūs AQbD projekta fails, viss glabāsies PostgreSQL datu bāzē un komunicēs ar Client Server NodeJS API, kuru pievienosim no šiem (bet AQbD jāvar strādāt stand-alone no jebkādiem citiem CS produktiem, bet vajadzēs varēt strādāt arī ar pilnu ChromSword integrāciju)
https://bitbucket.org/evaldsurtans/chromsword5-1-client-server-nodejs ^ Šo projektu paralēli arī vajadzēs uzlikt (izstrādājot AQbD šim jabūt uzinstalētam un palaistam Kalniņš var pastāstī kā palaist)
https://bitbucket.org/evaldsurtans/git-bitbucket.org-evaldsurtans-chromsword5-1-admin-console ^ Admin console atstāsim NodeJS Electron kāda viņa ir tikai papildināsim šajā repo, ja buildo priekš AQbD, tad citas funkcijas (izstrādājot AQbD šim jabūt uzinstalētam un palaistam Kalniņš var pastāstī kā palaist) Šis primāri, lai lietotāja autorizāciju panāktu
https://bitbucket.org/evaldsurtans/chromsword5-5-report-service
^ šis doma, ka ja pazūd tīkla savienojums ar client server, lai ziņas nonāktu līdz tam velāk
Komunikācijas un datu apmaiņas diagramma
Lietotāju saskarņu secība
Vispirms implementēt tikai Step “Method Definition” (ar domu, ka vēlāk būs arī projektu grupu izvēles skats un login skati)
Uztaisīt, ka UX funkcionāli aizpilda datu struktūras un ar File -> New var nodzēst. Pat nevajag sākotnēji sagalabāt.
Paralēli otrs izstrādājs var taisīt integrāciju ar Client Sever un izveidot autentifikāciju un projektu grupu ielādi (jāņem cērā gan, ka jāizveido papildus tabula, kur glabāsies katrai grupai AQbD dati tā lai parastais ClientServer 5.5 netiktu salauzts)
Pilns programmas apraksts: https://share.yellowrobot.xyz/quick/2024-4-24-8DEBC09D-2F83-4F26-9767-ABAAB49BA395.html
Figma pēdējie dizaini (kuri nepārtraukti mainās): https://www.figma.com/file/OFlqcqPy9eLsBxb2dLrXRh/ChromSword?type=design&node-id=2975%3A284405&mode=design&t=6TNsCNjcJ16Qbk5r-1
Nepieciešams izveidot Model klases (serializējamas) bez nekādām funkcijām, kas apstrādā datus (tās jāliek Controllers klasēs). Izmantojiet PascalCase klašu nosaukumiem. Vajag izveidot datu struktūras šādām klasēm. Šīs būs vēlāk saistītas un ielādētas no ChromSword 5.5 modificētas versijas (PostgreSQL datu bāzes). Pašu lietotāju administrēšanu veiksim izmantojot ChromSword 5.5 AdminConsole, kurai būs veiktas izmaiņas.