Skip to main content

AOVIS Project Overview

This repository contains the staged account base and storefront foundation for AOVIS. It is intentionally split into rounds so the auth, profile, commerce, and deployment rails can grow without breaking each other.

What this repo covers

  • account foundation
  • storefront commerce
  • payment flow
  • order history and checkout confirmation
  • a clean path for later device and service workflows

Project docs to read first

Current stable milestone

  • aovis-direct-store-v0.5

VM deployment preparation

The repo is prepared for a traditional Linux VM deployment path.

  • Read VM Deployment Notes before setting up staging
  • Use the standard Next.js production flow: npm run build then npm run start
  • Keep staging separate from the old prelaunch site and from any future production hostname
  • Use staging-first deployment with Stripe test keys before switching to live secrets

The Cloudflare Workers / OpenNext line is archived and no longer the active deployment path.

Tech stack

  • Next.js App Router
  • TypeScript
  • Tailwind CSS
  • Auth.js v5 (next-auth) with Prisma Adapter
  • Prisma
  • PostgreSQL

Round 1 status

Implemented and validated:

  • Google sign-in verified on localhost with a real Gmail account and confirmed database writes
  • /login
  • /account
  • /account/profile
  • /account/devices
  • /account/services
  • Server-side protection for /account/**
  • CustomerProfile read/write
  • PostgreSQL + Prisma schema and migration
  • Repeatable seed
  • Graceful fallback when providers are not configured

Round 2 status

Added in this round:

  • Apple provider wiring with graceful fallback
  • Email magic link provider wiring with real SMTP support
  • Provider status helpers for enabled / not configured UI
  • Linked Accounts display in the account center
  • More structured device and service summaries
  • Seeded demo user, device ownership, subscription, and entitlement rows for better local visibility
  • Placeholder account-linking actions and code structure for later expansion

Verified in testing:

  • Google OAuth enabled and successfully validated on localhost with a real Gmail account and confirmed database writes
  • Email Magic Link verified end to end with SMTP

Not implemented in this round:

  • Stripe
  • Apple IAP
  • Google Play Billing
  • Real device binding flow
  • Real cloud storage purchase flow
  • Real traffic package purchase flow
  • Admin backend
  • Redis / queue / microservice infrastructure

Current stable milestone details

Current stable version:

  • AOVIS Direct Store v0.5

Completed:

  • Preview fix
  • Product page runtime fix
  • Brand parity pass
  • Stripe test validation
  • Shipping / returns / support / contact pages
  • Header and footer navigation for launch structure
  • Checkout success / cancel page refinement
  • Order center polish for account / orders
  • Production Stripe configuration documentation
  • Production-ready env example structure
  • Production readiness pages, navigation, footer, and post-purchase guidance
  • Stripe production config readiness
  • Live payment readiness documentation
  • Launch checklist
  • Live payment validation checklist
  • Production wording refinement

Payment status:

  • Stripe test mode checkout is validated end to end in local development

Historical staging validation record

The earlier staging deployment path was validated end to end:

  • Deployment model: traditional VM deployment
  • App server: dedicated VM running Next.js full-stack application
  • Database server: separate PostgreSQL VM
  • Historical staging domain: store-staging.aovis.app
  • Stripe mode: test sandbox
  • Process manager: PM2
  • Reverse proxy: Caddy

Production readiness scope

This round completed:

  • Public shipping, returns, support, and contact pages
  • Header and footer navigation for launch-ready site structure
  • Success and cancel pages that guide the post-purchase handoff
  • Order center UX cleanup for account-linked purchases
  • Production Stripe preparation notes and configuration guidance

This round did not add:

  • Device binding
  • Entitlement automation
  • App store billing
  • Refund tooling
  • Coupon or discount engines
  • CMS or inventory systems
  • Shopify or infrastructure migration

Stripe live payment readiness

The store already supports Stripe Checkout and webhook confirmation. For live payment readiness, verify:

  • STRIPE_SECRET_KEY is a live key
  • NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY is a live publishable key
  • STRIPE_WEBHOOK_SECRET is the live webhook signing secret from the Stripe dashboard
  • NEXT_PUBLIC_APP_URL points to the live domain
  • Checkout success URL resolves on the live domain
  • Checkout cancel URL resolves on the live domain
  • Stripe webhook endpoint is reachable from production
  • No localhost or test-domain values remain in the live deployment configuration

Formal domain cutover

When moving from staging to the formal public domain, use https://aovis.app as the single site origin for auth, email links, metadata, and payment callbacks.