Aller au contenu principal

Technology Stack

A complete reference of all technologies, frameworks, and tools used in the Ever Gauzy Platform.

Core Technologies

Languages

TechnologyVersionUsage
TypeScript5.xFull-stack — backend, frontend, desktop, shared contracts
JavaScriptES2022+Build scripts, configuration
SCSS/SassModule systemStylesheets (migrated to @use/@forward)
HTML5StandardAngular templates

Runtime

TechnologyVersionUsage
Node.jsLTS v22.x / v24.xBackend runtime, build tooling
ElectronLatestDesktop application runtime

Backend

Framework

TechnologyRole
NestJSPrimary backend framework (modules, DI, guards, pipes)
Express.jsHTTP server (via NestJS adapter)
@nestjs/cqrsCommand/Query Responsibility Segregation
@nestjs/swaggerOpenAPI/Swagger documentation generation
@nestjs/graphqlGraphQL API (WIP)
@nestjs/scheduleCron jobs and task scheduling
@nestjs/throttlerRate limiting
@nestjs/passportAuthentication strategies

ORM & Database

TechnologyRole
TypeORMPrimary ORM — entities, repositories, migrations
MikroORMAlternative ORM — stricter metadata, unit of work pattern
Knex.jsSQL query builder — raw queries, complex migrations
PostgreSQLPrimary production database
MySQL/MariaDBSupported alternative database
SQLite / better-sqlite3Development and demo database

Authentication

TechnologyRole
Passport.jsAuthentication middleware
jsonwebtokenJWT token generation and validation
bcryptPassword hashing
passport-jwtJWT authentication strategy
passport-google-oauth20Google OAuth
passport-facebookFacebook OAuth
passport-github2GitHub OAuth
passport-twitterTwitter OAuth
passport-linkedin-oauth2LinkedIn OAuth
passport-microsoftMicrosoft OAuth

Utilities

TechnologyRole
class-validatorDTO validation decorators
class-transformerObject transformation and serialization
moment.js / luxonDate/time manipulation
uuidUUID generation
nodemailerEmail sending
handlebarsEmail template rendering
multerFile upload handling
sharpImage processing
csv-parserCSV file parsing
xlsxExcel file handling

Frontend

Framework

TechnologyRole
AngularFrontend SPA framework (v19+)
NebularUI component library (Eva Design System)
ngx-adminAdmin dashboard template
RxJSReactive programming for Angular
NgRxState management (select modules)
Angular RouterClient-side routing
Angular FormsReactive and template-driven forms

UI Libraries

TechnologyRole
Angular CDKComponent development kit
ng2-smart-tableData tables with sorting, filtering, pagination
ngx-chartsChart and data visualization
ng2-file-uploadFile upload components
@ngx-translateInternationalization (i18n)
ngx-color-pickerColor selection
ngx-quillRich text editor
fullcalendarCalendar component
leafletInteractive maps

Styling

TechnologyRole
SCSSPreprocessor stylesheets
BootstrapBase grid system and utilities
Eva Design SystemDesign tokens via Nebular
CSS Custom PropertiesTheme variables

Desktop Applications

TechnologyRole
ElectronDesktop app shell (Main + Renderer processes)
electron-builderApp packaging and distribution
electron-updaterAuto-update mechanism
electron-logDesktop app logging
screenshot-desktopActivity screenshot capture
active-winActive window detection
electron-storeLocal configuration storage

Build & Development Tools

Monorepo Management

TechnologyRole
NXMonorepo workspace orchestration, dependency graph, caching
LernaMulti-package management and publishing
YarnPackage manager (v1.22.x Classic)

Build Tools

TechnologyRole
WebpackModule bundler (Angular & NestJS)
Angular CLIAngular build toolchain
ng-packagrAngular library packaging
ts-nodeTypeScript execution for scripts
cross-envCross-platform environment variables

Code Quality

TechnologyRole
ESLintJavaScript/TypeScript linting
PrettierCode formatting
HuskyGit hooks
lint-stagedPre-commit lint checks
CommitlintCommit message conventions

Testing

TechnologyRole
JestUnit testing framework
CypressEnd-to-end testing
SpectatorAngular testing utilities
supertestHTTP API testing

Infrastructure & DevOps

Containerization

TechnologyRole
DockerContainer runtime
Docker ComposeLocal multi-container orchestration
Docker HubImage registry (ghcr.io and Docker Hub)

Orchestration

TechnologyRole
KubernetesContainer orchestration (production)
HelmKubernetes package management

Infrastructure as Code

TechnologyRole
PulumiInfrastructure as Code (TypeScript)
TerraformInfrastructure as Code (HCL)

Cloud Providers

ProviderUsage
DigitalOceanPrimary cloud (App Platform, Spaces, Kubernetes)
AWSS3 storage, optional deployment
AzureOptional deployment
HerokuOptional deployment
OthersLinode, Vultr, OVH, Scaleway, CIVO, CoreWeave

CI/CD

TechnologyRole
GitHub ActionsPrimary CI/CD (build, test, release, desktop builds)
CircleCISecondary CI/CD pipeline
NX CloudDistributed task caching

Monitoring & Analytics

TechnologyRole
SentryError tracking and performance monitoring
PostHogProduct analytics
JitsuData ingestion and event tracking
CubeAnalytics semantic layer, BI dashboards
OpenTelemetryDistributed tracing (Zipkin, Jaeger, Honeycomb)
PM2 / KeymetricsNode.js process management and monitoring
TechnologyRole
OpenSearchFull-text search engine
OpenSearch DashboardsSearch analytics and visualization

Feature Management

TechnologyRole
UnleashFeature flags and toggles
Custom Feature Toggles.env-based feature flags

AI & MCP

TechnologyRole
Model Context Protocol (MCP)AI assistant integration
OAuth 2.0 (MCP Auth)MCP authentication server
JWKS/RS256Token validation for MCP

Communication

TechnologyRole
ChatwootCustomer support chat widget
NodemailerEmail sending (SMTP)
HandlebarsEmail templating