Frontend:
  1. Angular 16+: Un framework puternic pentru construirea de aplicații web interactive și scalabile.
  2. WebSockets: Permite comunicarea în timp real între client și server, facilitând actualizări instantanee și experiențe fluide pentru utilizatori.
  3. Tailwind CSS: Un framework CSS axat pe utilități, pentru o stilizare rapidă și eficientă, promovând consecvența designului.
  4. Angular Material: O bibliotecă de componente UI care oferă componente predefinite, bine proiectate, eficientizând dezvoltarea front-end.
Backend:
  1. NestJS: Un framework construit peste Node.js și TypeScript, oferind o structură robustă pentru construirea de aplicații server-side.
  2. Prisma ORM: Un mapper relațional de obiecte (ORM) care simplifică interacțiunea cu baza de date, făcând operațiunile bazei de date mai eficiente și mai ușor de întreținut.
Database:
  1. MySQL InnoDB Cluster: Un sistem de baze de date extrem de disponibil și scalabil, care oferă capabilități robuste de stocare și recuperare a datelor.
  2. Redis cu Sentinels: Un magazin de date în memorie de înaltă performanță, cu un mecanism încorporat de preluare a erorilor (sentinels), care îmbunătățește fiabilitatea și rezistența.
Monitorizare și Observabilitate
  1. Sentry: O platformă cuprinzătoare de urmărire a erorilor care oferă informații detaliate despre erorile aplicației, ajutând la identificarea și rezolvarea rapidă a problemelor.
  2. Prometheus: Un sistem de monitorizare a seriilor de timp pentru colectarea și stocarea valorilor metrice, permițând analiza performanței în timp real.
  3. Grafana: Un instrument de vizualizare a datelor și de creare a tablourilor de bord care permite interpretarea ușoară a datelor colectate de Prometheus.
  4. OpenReplay: Un instrument de redare a sesiunilor pentru depanarea interacțiunilor utilizatorilor, ajutând la înțelegerea comportamentului utilizatorilor și la identificarea problemelor din cadrul aplicației.
Implementare și Infrastructură
  1. GitHub Actions: O platformă de integrare continuă și livrare continuă (CI/CD) care automatizează procesul de implementare, asigurând actualizări ușoare și frecvente.
  2. Nginx Reverse Proxy: Un server web de înaltă performanță care acționează ca o poartă de acces, distribuind cererile pe mai multe servere și oferind capabilități de echilibrare a încărcării.
  3. Scalabilitate orizontală: Backend-ul aplicației este conceput pentru a se scala orizontal, adăugând servere suplimentare pentru a gestiona creșterea volumului de lucru și pentru a asigura o disponibilitate ridicată.
  4. Servere în mai multe locații: Serverele sunt implementate strategic în mai multe locații pentru a asigura redundanța și a minimiza impactul întreruperilor regionale.
  5. Tailscale VPN: Un serviciu VPN sigur și fiabil care permite conexiuni directe sigure între servere, facilitând comunicarea și schimbul de date.
Microservicii și Integrări
  1. Traduceri bazate pe inteligență artificială: Valorificarea modelelor AI pentru servicii de traducere, îmbunătățind experiența utilizatorului și acoperirea globală.
  2. NATS.io: Un sistem de mesagerie care permite comunicarea descentralizată între microservicii, facilitând cuplarea slabă și dezvoltarea independentă.
  3. WebSockets prin Redis: Permite o comunicare eficientă și scalabilă în timp real între microservicii, utilizând Redis ca broker central de mesaje.
  4. Zoom, Google Calendar, Google Contacts, Google Id Provider, Stripe Checkout, Amazon S3 Storage: Integrări predefinite cu servicii terțe populare, eficientizând fluxurile de lucru ale utilizatorilor și îmbogățind funcționalitățile.
Testare și Asigurarea Calității
  1. Playwright: Am trecut de la Cypress la Playwright pentru caracteristicile sale uimitoare (vezi aici avantajele), cum ar fi posibilitatea de a deschide mai multe ferestre și de a testa funcționalitatea completă a aplicației, inclusiv plățile. Utilizarea Playwright pentru călătoriile utilizatorilor oferă încredere atunci când implementăm funcții noi. De asemenea, am folosit Playwright pentru a testa securitatea și integritatea API-ului.
  2. Jest: Un framework de testare JavaScript utilizat pe scară largă, utilizat pentru testarea unitară a codului frontend și backend, asigurând calitatea și stabilitatea codului.
Pachete NPM Private
       
  1. Pachete NPM Private Separate: O colecție dedicată de componente și funcționalități reutilizabile, promovând reutilizarea codului și mentenanța în cadrul aplicației.