Dev Lab

Auto · 2026

Panou de administrare pentru închirieri auto

Flota, clienții cu actele lor și contractele de închiriere cu formulare tipăribile. Tot ce trebuie ca să predai o mașină și să nu pierzi hârtiile.

Client
RentIt.md
An
2026
Direcție
Sisteme CRM
Termen
în cadrul proiectului RentIt

Problema

O firmă de închirieri are două fețe. Vitrina, unde omul alege mașina, și munca internă, unde aceeași mașină trebuie predată: verifici actele, întocmești contractul, consemnezi starea la predare și la primire. Partea a doua rămâne de obicei pe hârtie și în corespondență. Cât timp flota și prețurile se modifică direct în bază, orice schimbare de tarif este o sarcină pentru programator, iar contractele se tipăresc dintr-un șablon Word pe care fiecare îl are al lui.

Ce am făcut

Am făcut o aplicație separată, pe domeniul ei. Flota se editează din interfață, împreună cu grila de tarife: cu cât închirierea e mai lungă, cu atât ziua e mai ieftină, iar formula este aceeași pe site și în panou, pentru că stă într-un pachet comun. Fișa clientului păstrează buletinul și permisul pe ambele fețe, cu termenul de valabilitate, iar fișierele acestea sunt private și se livrează doar cu token, spre deosebire de fotografiile mașinilor. Contractul se compune din șablon: închiriere, predare și primire, trei documente, fiecare exportat în PDF. Scanul semnat se încarcă înapoi în același contract, așa că versiunea de hârtie și cea digitală stau împreună.

Rezultatul

Panoul este în producție, pe domeniul propriu. Flota și prețurile se schimbă fără programator, iar pentru fiecare închiriere sistemul ține trei documente și scanurile semnate.

Stack

  • React 19
  • TypeScript
  • Vite
  • Mantine
  • RTK Query
  • Node.js
  • Express
  • MongoDB
  • docxtemplater

Ce poate sistemul

Parc auto

  • Fișa mașinii: caroserie, cutie, tracțiune, combustibil, locuri
  • Grilă de tarife pe durată: cu cât mai lung, cu atât mai ieftină ziua
  • Aceeași formulă de preț pe site și în panou
  • Descrierea mașinii în trei limbi
  • Galerie foto, cu încărcare prin tragere
  • Selecția mașinilor pentru prima pagină a site-ului

Clienți

  • Buletin și permis, ambele fețe, în fișa clientului
  • Termenul de valabilitate al fiecărui act
  • Stare: activ sau blocat
  • Contor de închirieri
  • Căutare după nume și telefon
  • Actele clienților sunt private și se livrează doar cu token

Contracte

  • Contract pe mașina, clientul și intervalul alese
  • Trei documente din șablon: închiriere, predare, primire
  • Generare în PDF pornind de la un șablon DOCX
  • Scanul semnat se încarcă înapoi în același contract
  • Stări: activ, încheiat, anulat
  • Căutare după titlul contractului
  • Contor de semnături: „0 din 3 semnate" pe fiecare contract
  • Durata închirierii în zile, calculată din date

Acces și fișiere

  • Trei niveluri: citire, scriere, administrare de utilizatori
  • Token în cookie httpOnly, cu antet CSRF separat la modificări
  • Rolul se verifică în baza de date la fiecare cerere
  • Fotografiile mașinilor sunt publice, actele clienților nu
  • Limită de mărime și listă albă de tipuri la încărcare

Interfață

  • Temă deschisă și întunecată, implicit după setarea sistemului
  • Schelete la încărcare și stări goale explicite, nu tabele goale
  • Stările sunt etichete colorate: activ, încheiat, blocat

Ecrane din sistem

  • Parcul auto, cu tariful minim calculat din grilă
  • Clienții și scanurile actelor lor, cu termene de valabilitate
  • Contractul: trei documente, generare PDF și scanul semnat
  • Contractele de închiriere, cu durata și starea fiecăruia
  • Editarea mașinii: grila de tarife și galeria foto

În cifre

documente pentru fiecare închirierecontract, predare, primire
3
niveluri de acces
3
formulă de preț pentru site și panouîntr-un pachet comun
1