De ceva timp lucrez la o aplicație de contabilitate cu care să se poată țină evidența contabilă a unei firme, dar aplicația să fie folosită de oameni care nu știu contabilitate. Poate că sună un pic ciudat sau complicat de făcut, dar am zis că o interfața simplă și cât mai multe automatizări ar rezolva problema.
Zilele astea am urcat-o sus și aș vrea să aflu câteva păreri, sau dacă aveți sugestii, întrebări, etc.
Tech stack:
- backend: GO (golang)
- DBMS: PostgreSQL
- frontend: Typescript, svelte, IBM Carbon Design
- arhitectură: câteva servicii care rulează în containere orchestrate de kubernetes (k3s); aplicația principală este multi-tenant: fiecare instanță rulează în containerul propriu
- hosting: hetzner cloud
Referitor la development, câteva gânduri:
- GO: strongly typed, compilare extrem de rapidă care produce un singur binar executabil, viteză excelentă de execuție;
- PostgreSQL este suficient pentru 99% din cerințele oricărui proiect, este foarte stabil, predictibil și dezvoltat în permanență, nu are rost să folosești alte DMBS noi;
- typescript m-a ajutat enorm să elimin din eventualele erori ale “dinamismului” js;
- svelte este de 1000 de ori mai simplu decât react iar ca features este la fel de bun; ecosistemul de componente nu este la fel de mare dar am găsit IBM Carbon Components care a fost suficient pentru ce voiam să fac, iar unde a fost nevoie am mai contribuit eu;
- kubernetes e pic dificil la început de învățat (până înveți conceptele) dar mai târziu te ajută enorm, partea de configurație declarativă este foarte folositoare; am folosit k3s fiindcă include toate componentele pentru un PAAS și se instalează foarte ușor;
- am evitat orice vendor lock-in, toate componentele sistemului se pot hosta unde vreau; posibil ca pe viitor să folosesc bare metal în loc de Hetzner, migrarea va fi foarte ușoară.
Siteul este www.robocont.ro
Puteți face un demo folosind siteul, e un buton pe homepage “Testați aplicația”. Deci, cum vi se pare?