Skip to content

aglyn/aglyn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,934 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Aglyn β€” the clickable screen to create online

The clickable screen to create online.

Aglyn is a multi-tenant website-builder platform that turns a live, clickable canvas
into a real business website β€” no code, no ceremony, no expensive rebuilds.

aglyn.com Β Β·Β  Console Β Β·Β  Docs Β Β·Β  Contributing Β Β·Β  Report a bug

Aglyn secure website License Version

Next.js React TypeScript Firebase MUI MobX Nx Node 24+


✨ What is Aglyn?

Aglyn takes the pain out of getting a professional website off the ground. Instead of hiring engineers or wrestling with templates, you build on a live, clickable canvas β€” the Besigner β€” where what you click is what you ship. Every element, page, and interaction is editable in place, and publishing is instant across a globally-served, multi-tenant runtime.

It's a full platform, not just an editor: organizations, billing, a plugin marketplace, a digital asset manager, e-commerce, bookings, email, workflows, and a documented REST API all live under one roof.

Three surfaces, one platform Β· aglyn.com β€” the marketing site Β· app.aglyn.com β€” where you build, manage orgs & billing Β· aglyn.app + your own custom domain β€” where your published site is served to the world

πŸ“Έ Take a look

The Besigner β€” a clickable, in-place canvas where design and content live on the same surface.

Aglyn console dashboard
Console dashboard β€” traffic, users, campaigns & activity at a glance
Aglyn commerce products hub
Built-in commerce β€” products, pricing, orders & POS

πŸš€ Highlights

πŸ–±οΈ Besigner canvas A clickable, in-place visual editor β€” design and content on the same surface.
🌐 True multi-tenancy One runtime serves every customer site, on aglyn.app or a custom domain, with ISR.
🧩 Plugin platform Commerce, Bookings, Contacts, Email, Events, Workflows, Redirects & more β€” installable per org, with a review-queued marketplace.
🎨 Theme & layout builder Design tokens, themes, and layout templates that stay consistent across every page.
πŸ–ΌοΈ Digital Asset Manager Drag-and-drop media, folders, custom metadata, and stable CDN URLs that survive replace & move.
πŸ›’ Built-in commerce Products, pricing, POS, and digital goods powered by Stripe.
πŸ” Security first Firebase Auth with email-verify gates, durable rate limiting, CSRF protection, and rules-tested Firestore.
⚑ Modern stack Next.js App Router, React 19, server components, and an Nx-orchestrated monorepo.
πŸ”Œ Customer REST API Scoped aglyn_sk_ API keys for programmatic access on Business plans.
πŸ“š Docs that ship with the code Four Docusaurus instances (docs, api, learn, help) kept in sync with features.

πŸ—οΈ Inside the monorepo

An Nx workspace organized into deployable apps and shareable libs.

aglyn/
β”œβ”€ apps/
β”‚  β”œβ”€ 🌐 www        β†’ marketing site               (aglyn.com)
β”‚  β”œβ”€ πŸ› οΈ console     β†’ dashboard, editor, billing    (app.aglyn.com)
β”‚  β”œβ”€ πŸš€ tenant      β†’ runtime for published sites   (aglyn.app + custom domains)
β”‚  └─ πŸ“– docs        β†’ Docusaurus documentation
β”‚
β”œβ”€ libs/
β”‚  β”œβ”€ aglyn                 β†’ core platform library
β”‚  β”œβ”€ aglyn-node-renderer   β†’ server-side screen renderer
β”‚  β”œβ”€ besigner/             β†’ the clickable visual editor (core + designer)
β”‚  β”œβ”€ tenant/runtime        β†’ shared tenant runtime (host events + composition)
β”‚  β”œβ”€ plugins/              β†’ bookings Β· commerce Β· community Β· contacts Β· data
β”‚  β”‚                          email Β· events-calendar Β· inbox Β· logic Β· marketing
β”‚  β”‚                          mui Β· redirects Β· workflows
β”‚  └─ shared/               β†’ data Β· ui Β· util building blocks
β”‚       β”œβ”€ data/  β†’ enums Β· forms Β· mdi Β· regex Β· types
β”‚       β”œβ”€ ui/    β†’ jsx Β· jsx-forms Β· theme Β· color-picker Β· json-editor Β· next Β· …
β”‚       └─ util/  β†’ dom Β· email Β· errors Β· fbclient Β· fbserver Β· http Β· logger Β· …
β”‚
└─ cloud/          β†’ Firebase (functions, Firestore/Storage rules, Remote Config)

Library conventions β€” each lib is one of four types, so dependencies stay predictable:

  • Feature β€” smart UI with data access, for a specific business use case.
  • UI β€” presentational ("dumb") components only.
  • Data-access β€” back-end interaction and state management.
  • Utility β€” low-level helpers shared broadly.

🧰 Tech stack

Area Tools
Framework Next.js 16 (App Router, RSC) Β· React 19
Language TypeScript (dual typescript@6 bridge + @typescript/native@7 for tsc)
UI MUI 9 Β· MobX 6 Β· Data-Driven Forms 4
Backend Firebase (Auth, Firestore, Storage, Remote Config) Β· Cloud Functions Β· firebase-admin 14
Payments & email Stripe Β· Resend
Monorepo Nx 23
Testing Jest 30 (unit) Β· Playwright + Firebase emulators (e2e)
Runtime Node β‰₯ 24

⚑ Quick start

Prerequisites: Node β‰₯ 24, npm, and the Firebase CLI for local emulation.

# 1. Install dependencies
npm install

# 2. Copy the example environment and fill in the blanks
cp .env.example .env

# 3. Serve an app (console, tenant, www, or docs)
npx nx serve console

The dev server hot-reloads on http://localhost:4200. Use --prod for a production build.

Run against the Firebase emulators

# Start the emulators (imports/exports local data)
firebase emulators:start --import=./.firebase --export-on-exit

# Serve the console wired to the emulators
npm run serve:console:emulated

Default emulator hosts: Firestore localhost:8082, Auth localhost:9099. See docs/E2E_LOCAL.md for the full local end-to-end recipe.

🐳 Self-hosting

Run the whole platform on your own infrastructure with Docker β€” any cloud, a VPS, or bare metal β€” pointed at your own Firebase project and your own Stripe/Resend keys:

cp .env.selfhost.example .env.selfhost   # fill it in
docker compose up --build

Console on :4200, published sites on :4500, your reverse proxy in front. The full runbook β€” Firebase project setup, security-rules deploy, DNS, and the honest limits (Firebase is required; the in-console custom-domain flow is Vercel-only) β€” lives in docs/SELF_HOSTING.md.

πŸ› οΈ Common commands

Task Command
Serve an app nx serve <app> (--prod for production)
Build an app nx build <app> β†’ output in dist/
Unit tests nx test <app> Β· affected only: nx affected:test
E2E tests nx e2e <app-e2e> Β· affected only: nx affected:e2e
Lint nx lint Β· workspace: npm run lint
Type-check npm run typecheck
Format npm run format
Dependency graph nx graph

Scaffolding new projects:

nx g @nx/next:app <app-name>     # new Next.js app
nx g @nx/react:lib <lib-name>    # new React library
nx g @nx/react:component <name> --project=<app>

Libraries are shareable and imported as @aglyn/<name> (e.g. @aglyn/shared-ui-jsx).

πŸ“– Documentation

πŸ“š Full product & developer docs live at docs.aglyn.com.

Repo-local deep-dives live in docs/, including:

🀝 Contributing

We follow Conventional Commits β€” commit messages are linted.

<type>[(optional-scope)]: <description>

[optional body]

[optional footer(s)]

Common types: feat (new feature β†’ minor), fix (bug patch β†’ patch), plus build, chore, ci, docs, style, refactor, perf, test, and revert. A ! after the type/scope or a BREAKING CHANGE: footer signals a major change.

See CONTRIBUTING.md, the Code of Conduct, and SECURITY.md before opening a PR.

🌍 Terminology

  • Organization β€” the entity that owns sites, members, and billing.
  • Workspace β€” the UX word for an organization's working area.
  • Tenant β€” a site at runtime (the served, published surface only).
  • Besigner β€” Aglyn's clickable visual editor.
  • Plugin / Add-on β€” pluggable, first- or third-party modules that extend an org or app while respecting its architecture.
  • Extension β€” deeper, non-standard integrations that modify default behavior; typically community-authored.

Connect with us

LinkedIn Β  Twitter Β  GitHub

About Aglyn

Aglyn LLC is a distributed technology company building the clickable way to create online. We're improving the no-code web-development market by shrinking the distance between an idea and a live, professional website β€” easing maintenance and minimizing the expensive engineering work a business site usually demands.


Apache License 2.0 Β· Β© Aglyn LLC

Releases

Packages

Used by

Contributors

Languages