Introduction
What ngXpress is, what's in the box, and why it exists.
ngXpress is a free, open-source Angular full-stack starter kit: one process, server-side rendering, a real API, and authentication that ships. It pairs Angular 22 with Express 5 in a single Node process, so you get SSR, a production API, and a working auth flow without stitching together a separate frontend and backend.
Clone it, rebrand it, and ship it — the goal is a baseline you'd actually put in production, not a toy demo.
See it running
The live demo is the Stride sample app — landing page, auth, an admin dashboard, and a Tasks CRUD feature, all built on top of ngXpress.
Tech stack
- Angular 22 — standalone components, signals, native control flow (
@if/@for), zoneless by default - SSR in one process —
@angular/ssr+ Express 5, no separate frontend/backend servers - Better Auth — email/password, session cookies, password reset, SSR session via
TransferState - Prisma 7 — PostgreSQL by default (
@prisma/adapter-pg); any database Prisma supports - spartan/ui — accessible Helm components (Brain primitives + Tailwind), the shadcn-style kit for Angular
- Signal Forms —
@angular/forms/signalson login, signup, and task dialogs - Tailwind CSS 4 — utility-first styling with the Spartan Vega theme
- TypeScript everywhere — the Angular app, the Express API, and the Prisma client
- pnpm 11 — packageManager pinned; the lockfile is the source of truth
Why one process
Most "full-stack Angular" setups mean two servers: an Angular dev server for the UI and a separate Node/Express API, glued together with a proxy config and CORS rules. ngXpress renders Angular with SSR inside the same Express process that serves the API, so:
- there's one
PORTto deploy, not two - API routes and Angular routes share the same origin — no CORS to configure
- the session cookie set by Better Auth is available to both the SSR render and the API immediately
What's included
- SaaS landing page — hero, features, pricing, FAQ, dark/light theme
- Authentication — sign in, sign up, forgot/reset password
- Admin workspace — sidebar layout, dashboard stats, session-aware nav
- Tasks CRUD — list, filter, create, update, delete; API scoped to the signed-in user
- Error pages — 403, 404, 500, 503 shells you can wire to real status codes
See What's Included for details on each piece.
Where to go next
- Quick Start — clone it and get it running locally
- Project Structure — how the repo is organized
- Environment Variables — what to set before running it
Prefer to read the source? The GitHub repository has the full README and code.