Skip to main content

App Overview

Sample Appnest app​

A frontend and backend app built on the Appnest stack: you implement business logic and UI; the framework and engine handle dev routing, HTTP wiring, React setup, and bundling for local development and pack.

  • Backend — See App Backend (app-backend/server.js, manifest registration, $fetch, $db, etc.).
  • Frontend — See App Frontend (React root, Twigs, calling the backend, { statusCode, body } vs SDK helpers).

At a high level every app root has three pillars:

  1. app-frontend/ — UI users see (plus optional app-install-frontend/).
  2. app-backend/ — Server code the platform invokes; exports must match manifest.json.
  3. manifest.json — Declares locations, functions, events, installation_parameters, OAuth, and whitelisted_domains.

For the development engine (proxy, CLI, zip), see Overview and Commands.


Project structure​

PathRequired?Role
app-backend/Yesserver.js — backend entry; exports drive API + events.
app-frontend/YesMain React (or template) UI; built dist for pack.
app-install-frontend/OptionalSeparate install / onboarding UI.
manifest.jsonYes for packagingPlatform contract (see Configuration below).
.envRecommendedPorts, pack paths, CLIENT_SCRIPT_URL, …

Edit app-* trees and root config only—not appnest-* engine packages.


Configuration​

TopicDocument
Manifest schema, examples, installation_parameters, OAuth tablesManifest
Product UI locations (full_page_app, …)Product Location

Appnest Functions (summary)​

Platform-backed helpers: backend modules inside app-backend, and frontend helpers to call named server functions.

Overview: Appnest Functions

SurfaceDoc
Backend modules ($fetch, $db, $file, $schedule, $next, …)App Backend (table + links to each topic)
Frontend invoke (appBackendInvoke, global client, …)App Frontend & Frontend Functions

Day-to-day commands​

From the app root (next to manifest.json):

appnest-development-engine app init       # scaffold
appnest-development-engine app start # proxy + backend + frontends
appnest-development-engine app validate # lint + manifest
appnest-development-engine app pack # build + zip
  • validate — Backend + frontend lint and manifest.json checks.
  • pack — Usually app-frontend, app-backend, optional app-install-frontend, manifest.json, .env, plus optional PACK_FOLDER_PATHS / PACK_FILE_PATHS.
  • Treat .env as sensitive.

Cross-cutting reminders​

  • process.cwd() is the project root; the engine uses ORIGINAL_CWD for child processes (see engine docs).
  • Keep manifest, server.js exports, and docs aligned when renaming or adding functions.

Full documentation (this developer site)​

TopicDocument
Backend entry, SDK modules, rulesApp Backend
Frontend entry, Twigs, invoke patterns, UXApp Frontend
Manifest & locationsManifest, Product Location
Appnest Functions concept + deep linksAppnest Functions overview
Engine & CLIDevelopment Engine overview, Commands
Twigs component library (external)twigs.surveysparrow.com