Kas yra Pica ir kaip statysim
Sveiki atvykę į PICA — realią programėlę, kurią statysi visą kursą.
Kas yra Pica. Restorano svečias prisėda prie staliuko, nuskenuoja QR kodą, pamato meniu telefone, susideda picas į krepšelį, prisijungia, užsako ir sumoka — viskas iš telefono. Tikra „QR prie staliuko" užsakymų sistema.
Ką jau turi mokėti. Šis kursas — vidutinio lygio: laikome, kad moki Kotlino pagrindus (kintamieji, funkcijos, klasės, val/var, data class, lambdas). Nesirūpink — sudėtingesnius dalykus (koroutinas, Flow) išsiaiškinsim ten, kur jų prireiks.
Kaip statysim — architektūros ašis. Nepilstysim visų bibliotekų iš karto. Kiekviena pamoka prideda vieną tikrą sluoksnį, būtent tada, kai jo prireikia:
1 paruošimas · 2 Compose UI · 3 būsena/ViewModel
4 navigacija (Nav3) · 5 Retrofit + API · 6 Koin (DI)
7 Room (talpykla) · 8a el. paštas auth · 8b Google auth
9 autentifik. užkl. · 10 QR skenavimas · 11 Stripe · 12 leidimas · 13 finalinis
Retrofit ateina 5-oje (tada, kai reikia tikrų duomenų), Koin — 6-oje (kai rankinis jungimas ima painioti), Room — 7-oje (kaip talpykla, ne pagrindinė saugykla). Pajusk skausmą, tada gauk įrankį.
Backendas jau parašytas. Nereikės rašyti serverio — jį gauni gatavą (Go: Chi + SQLite, modernc.org/sqlite, goose migracijos). Paleisi jį lokaliai, o programėlė kalbėsis su juo. Tikri galiniai taškai:
GET /menu picų sąrašas
POST /register · POST /login el. paštas → JWT sesijos raktas
POST /orders · GET /orders užsakymai (su autentifikacija)
POST /create-payment-intent Stripe mokėjimas (testinis režimas)
(Google prisijungimas serveryje virsta tuo pačiu JWT — apie tai 8b pamokoje.) Norintys gali serverį ir patys išplėsti ar perrašyti — bet tai nebūtina.
Šiandien mažas, bet tikras pirmas žingsnis: susikurti projektą ir paleisti pirmą Compose ekraną ant emuliatoriaus.