Conținut principal

Software la comandă, de la web la firmware

Dezvoltăm software la comandă în Cluj-Napoca: platforme SaaS, software de operațiuni, aplicații de telefon și firmware. Aceeași echipă construiește tot, de la baza de date până la senzorul de deasupra ușii unui muzeu.

FIG. 1Muzeul Baia, un singur backend
Sistemul Muzeului Baia: contoarele de vizitatori își trimit citirile către backend. Portalul public, biletele, back office-ul cu harta zonelor și audioghidul offline rulează pe același backend și pe aceeași bază de cod.HTTPContoare de vizitatoriAnonimePreluare dateDate de la senzoriBaza de dateUn singur backendPortal publicBileteBack officeAudioghidOffline

Construit pentru Muzeul Baia: toate uneltele, publice și interne, pe același backend.

Toate instrumentele pentru vizitatori, în mâna personalului muzeului

Folosite de personalul muzeului, cu o singură autentificare

Platforme web, sisteme IoT și aplicații mobile

Aplicații web și SaaS

SaaS cu mai multe roluri pe același backend și software-ul de operațiuni pe care lucrează o firmă.

40%

Mai mulți clienți serviți în același timp

Rarău Rental: inventar, rezervări, check-in

Construit pentruMozar, Rarău Rental, OpenTest

FIG. 2Mozar, pe două ecraneDate demonstrative
Tabloul de bord Mozar pentru profesioniști, pe o misiune: documentele cerute grupate pe identitate, juridic și financiar, un document marcat pentru revizuire cu nota auditorului, progresul misiunii la 50 la sută și o discuție cu auditorul.
Vizualizare pe telefon a unei oferte Mozar: numărul ofertei, firma, tipul misiunii, suma fără TVA, TVA, un total de 1 368 euro, termenii bifați și butonul Acceptă și plătește.

Sisteme IoT și embedded

Firmware, legătura radio, preluarea datelor în cloud și ecranul pe care îl citesc oamenii, proiectate împreună.

Ocuparea sălilor în timp real, fără identificarea nimănui

Actualizarea ocupării sălilor, fără identificarea nimănui

Construit pentruMuzeul Baia, Regularity Rally System (prototip), un prototip de telemetrie pentru baterii (NDA)

FIG. 3Placa hubului de raliuRandare
Randare 3D a plăcii hubului, văzută de sus: un modul ESP32 pe soclu, un soclu microSD, două module de senzori, protecția intrării de alimentare, doi conectori pentru senzorii de roată, un LED de stare și un buzzer.

Aplicații mobile

Aplicații de telefon dintr-un sistem mai mare: un audioghid care merge fără semnal, un ecran pentru pilot în mașină, un check-in pe telefonul clientului.

Clienții fac check-in pe propriul telefon

Câmpuri completate la ghișeu pentru client

Construit pentruMuzeul Baia, Rarău Rental, Regularity Rally System

FIG. 4Trei aplicații mobileDate demonstrative
Ecranul unui exponat în aplicația ghid audio: ilustrația fălcii de mamut, titlul, playerul de narațiune oprit la 0:08 din 0:13 și textul exponatului în română.
Înregistrarea Rarău Rental pe telefon, pasul 1 din 3: fotografia unui act de identitate marcat vizibil SPECIMEN ocupă locul pentru fața actului, cu butonul Continuă dedesubt.
Ecranul copilotului în etapa 2: în ritm, la minus 1,2 secunde, GPS-ul telefonului ca sursă de poziție, cu avertizare de încredere scăzută, 349 m până la controlul de sosire, 36 km/h și butoane de corecție pentru minus 50, minus 10, plus 10 și plus 50 de metri.

Cum decurge un proiect software la comandă

Fiecare etapă se încheie cu ceva ce clientul poate verifica.

FIG. 5Un proiect, etapă cu etapă
Un proiect pornește de la o analiză scrisă, trece printr-o versiune pe staging cu date demo și se încheie, pentru fiecare etapă, cu o recepție semnată; bucla se reia pentru etapa următoare, până la lansarea în producție și predare.Etapa următoareAnaliză scrisăRoluri, date, integrăriVersiune pe stagingDate demonstrativeRecepție pe etapăProces-verbal semnatLansare în producțieDocumentație, predare

Ce livrează fiecare etapă

Analiză scrisă
Roluri, procese, modelul de date și integrările, stabilite în scris înainte de prima linie de cod.
Dezvoltare pe staging
Software funcțional pe un mediu de staging încă din timpul dezvoltării, cu date demo prin care clientul poate naviga.
Recepție pe etape
Fiecare etapă se încheie cu un proces-verbal de recepție semnat.
Lansare și predare
Lansarea în producție, documentația și o sesiune de predare pentru oamenii care operează sistemul.

Sisteme existente: refacere sau continuare

O analiză scrisă vine înaintea oricărei promisiuni.

FIG. 6Cod moștenit, două variante
Un cod moștenit trece printr-o analiză scrisă, care duce fie la o reconstruire cu migrare, ca la Mozar, fie la continuarea pe același sistem, ca la OpenTest.Cod moștenitAltă echipăAnaliză scrisăPăstrare sau refacereReconstruire cu migrareMozarContinuare pe același sistemOpenTest

Mozar: reconstruire cu migrare

Prima platformă Mozar a fost înlocuită de una reconstruită de la zero. Migrarea a fost repetată până a rulat curat, sistemul vechi a rămas neatins, iar niciun utilizator nu și-a resetat parola.

Studiul de caz Mozar

OpenTest: continuare pe același sistem

OpenTest rulează și azi pe tehnologiile cu care s-a lansat. Backendul a fost actualizat pas cu pas, fără rescriere.

Studiul de caz OpenTest

Fiecare modificare e testată înainte să ajungă la utilizatori

Claude Code scrie o parte din cod; testele și un inginer care cunoaște sistemul îl verifică în întregime.

Teste pe rulare CIDate demonstrative

1210teste

Verificări care rulează în CI

  • Teste pentru regulile de acces
    Ce prinde: Un rol care poate citi rânduri pe care nu ar trebui să le vadă
    Proiect: Mozar, Rarău Rental, Muzeul Baia
  • Verificări pentru modificările bazei de date
    Ce prinde: O modificare a bazei de date care ar strica datele existente
    Proiect: Mozar
  • Teste de preț pe toate combinațiile
    Ce prinde: Un coș taxat peste cea mai ieftină combinație de pachete
    Proiect: Rarău Rental
  • Parcurgeri în browser la lățime de telefon
    Ce prinde: Orice element care iese din ecranul de 390 px
    Proiect: Rarău Rental
  • Teste de protocol la nivel de octet
    Ce prinde: Un firmware și o aplicație care citesc diferit un octet din pachet
    Proiect: Regularity Rally System

Echipele care vor aceeași configurare în propriul repository o primesc prin Claude Code pentru echipe. Aceleași verificări sunt dovezile pe care un chestionar NIS2 le cere unui furnizor: NIS2 pentru furnizorii de software. Agenții AI pe care îi construim rulează în software făcut la fel.

Tehnologii, pe straturi

Alese pentru fiecare proiect. Stack-ul existent al clientului rămâne, dacă e solid.

Web
Next.js, React, TypeScript
Backend
Node.js, Python
Date
PostgreSQL
Mobil
React Native, iOS, Android
Embedded
C, ESP32, FreeRTOS, Bluetooth Low Energy
Livrare
Teste automate, livrare continuă, Docker

Întrebări frecvente despre software la comandă

Web, mobil și IoT în același studio

Un singur studio le acoperă pe toate trei pentru că proiectele reale au nevoie de toate trei. Muzeul Baia a combinat un site public, un audioghid pentru Android și contoare de vizitatori într-o singură bază de cod. Când aceiași ingineri scriu firmware-ul, backend-ul și aplicația, există un singur protocol, un singur model de date și un singur responsabil pentru fiecare bug.

Preluarea codului de la altă agenție

Un cod moștenit primește întâi o analiză scrisă: ce poate rămâne, ce blochează următoarea funcționalitate și ce ar risca o migrare. Analiza se încheie cu o recomandare: sistemul continuă și se extinde sau se reconstruiește cu o migrare, ca la Mozar.

Studiul de caz Mozar

Cod scris cu AI în producție

Claude Code scrie o parte din cod. Fiecare modificare trece totuși prin verificări de tipuri, teste de bază de date și CI, iar un om care cunoaște sistemul o revizuiește înainte să intre în cod. Verificările care rulează pe fiecare proiect sunt listate pe această pagină.

Software la comandă sau produs gata făcut

Un produs gata făcut câștigă când procesul e standard. Software-ul la comandă merită când procesul e chiar afacerea: Rarău Rental dă ghișeului unui centru de închiriere de schiuri o consolă care calculează fiecare coș la cea mai ieftină combinație de pachete, o regulă proprie acelui magazin.

Costul unui software la comandă

Costul depinde de amploarea proiectului: numărul de roluri, integrări și platforme, plus eventualul hardware. După analiza scrisă, dezvoltarea se ofertează pe etape. La prototipurile hardware se adaugă componentele și loturile de plăci.

Predarea la final de proiect

Predarea înseamnă un sistem pe care îl poate rula alt inginer: migrările, datele demo, procedurile de operare și scripturile de deploy stau lângă cod, iar oamenii care operează sistemul primesc documentație. Proprietatea asupra codului și a conturilor se stabilește în contract, iar lista de predare arată ce rămâne la client.

Lucrul alături de o echipă internă

Munca ajunge ca pull request-uri în repository-ul echipei, prin CI-ul și regulile ei de review. Echipele care adoptă și ele Claude Code pot adăuga configurarea descrisă la Claude Code pentru echipe.

Claude Code pentru echipe

Un prim proiect, cu specificațiile stabilite în scris

Pentru început ajung câteva rânduri despre sistem și utilizatorii lui.

Studio
Cluj-Napoca, România, UE