diff --git a/frontend/README.md b/frontend/README.md index 167c567..f4802ee 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,28 +1,78 @@ -## Usage +# Frontend -```bash -$ npm install # or pnpm install or yarn install +SolidJS frontend for the Caravel platform. This app includes the marketing site, tenant dashboard, and super admin dashboard, and talks to the backend API using NIP-98 authentication. + +## Tech Stack + +- TypeScript +- SolidJS + Vite +- Tailwind CSS + Preline UI +- applesauce (Nostr tooling) +- nonboard (Nostr login) +- TanStack Query (data fetching) + +## Layout + +``` +frontend/ + public/ + src/ + assets/ + components/ # Shared UI components + lib/ # Nostr helpers + pages/ # Route components + App.tsx # Router + layout + index.tsx # App entrypoint + index.css # Global styles ``` -### Learn more on the [Solid Website](https://solidjs.com) and come chat with us on our [Discord](https://discord.com/invite/solidjs) +## Configuration -## Available Scripts +Environment variables (see `.env.template`): -In the project directory, you can run: +| Variable | Description | Default | +|---|---|---| +| `VITE_API_URL` | Backend API base URL | `http://127.0.0.1:3000` | -### `npm run dev` +## Running -Runs the app in the development mode.
-Open [http://localhost:5173](http://localhost:5173) to view it in the browser. +```bash +cd frontend +npm install +npm run dev +``` -### `npm run build` +Build and preview: -Builds the app for production to the `dist` folder.
-It correctly bundles Solid in production mode and optimizes the build for the best performance. +```bash +npm run build +npm run preview +``` -The build is minified and the filenames include the hashes.
-Your app is ready to be deployed! +## Authentication -## Deployment +- Tenant requests use NIP-98 tokens derived from the logged-in user +- Admin routes require a pubkey listed in `PLATFORM_ADMIN_PUBKEYS` on the backend -Learn more about deploying your application with the [documentations](https://vite.dev/guide/static-deploy.html) +## Routes + +Marketing and onboarding: + +- `/` — marketing page with a “Get Started” CTA +- `/login` — login via nonboard + +Tenant dashboard: + +- `/relays` — list relays +- `/relays/new` — create relay + invoice flow +- `/relays/:id` — relay detail +- `/relays/:id/edit` — edit relay +- `/account` — billing + invoice history + +Super admin dashboard: + +- `/admin/tenants` — list tenants +- `/admin/tenants/:id` — tenant detail +- `/admin/relays` — list relays +- `/admin/relays/:id` — relay detail +- `/admin/relays/:id/edit` — edit relay