Sign in

Architecture

Auva is not a single application. It's a distributed ecosystem of interconnected services, each purpose-built for its domain, unified by a shared authentication layer and a consistent design language.


High-Level Overview

text
┌─────────────────────────────────────────────────┐
│                 Auva Ecosystem                   │
│                                                  │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐       │
│  │ Auva Go  │  │Auva Mail │  │Auva Notes│       │
│  │go.auva.dev│ │auva.email│  │notes.*   │       │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘       │
│       │              │              │             │
│       └──────────────┼──────────────┘             │
│                      │                            │
│              ┌───────▼──────────────────┐         │
│              │     Auva Auth API       │         │
│              │   auth.auva.dev         │         │
│              │  JWT + Refresh Tokens   │         │
│              │  OAuth / SSO Provider   │         │
│              └─────────────────────────┘         │
│                                                  │
│              ┌─────────────────────────┐         │
│              │   Auva Account Hub     │         │
│              │     auva.dev           │         │
│              │  User profiles, settings│         │
│              └─────────────────────────┘         │
└─────────────────────────────────────────────────┘

Core Principles

Unified Authentication

Every service in the Auva ecosystem authenticates through Auva Auth (auth.auva.dev). A single account unlocks access to all products. The auth system uses:

Domain Isolation

Each product runs on its own subdomain with its own deployment pipeline:

ProductDomainStack
Corporate Hubauva.devNext.js 16, React 19
Auva Gogo.auva.devNext.js, Prisma, PostgreSQL
Auva Mailauva.emailNext.js, Custom SMTP
Auva Notesnotes.auva.devNext.js (Coming Soon)

| Auth API | auth.auva.dev | Node.js, Express, MongoDB | | Docs | docs.auva.dev | Next.js, MDX |

Shared Design Language

All products follow the same design system:

See the Design System section for detailed brand guidelines and component specifications.


Data Flow

Authentication Flow

text
User → auva.dev/login
  → POST /auth/login (auth.auva.dev)
  → Returns: { accessToken, user }
  → Sets: httpOnly refresh cookie
  → Redirect to dashboard or product

Cross-Product Navigation

When a user navigates between products (e.g., from auva.dev to go.auva.dev):

  1. The target app checks for an existing refresh token cookie
  2. If found, it calls POST /auth/refresh to get a fresh access token
  3. The user is seamlessly authenticated without re-entering credentials
  4. If no cookie exists, the user sees a "Sign in" link redirecting to auva.dev/login

Technology Stack

LayerTechnology
FrontendReact 19, Next.js 16 (App Router)
StylingTailwind CSS v4
AnimationFramer Motion, GSAP
BackendNode.js, Express
DatabaseMongoDB, PostgreSQL
AuthJWT, bcrypt, HTTP-only cookies
DeploymentVercel (Frontend), Custom VPS (Backend)
DNSCloudflare
AnalyticsVercel Analytics, Custom dashboards