Files
next.orly.dev/app/web/README.md
mleku 0b69ea6d80 Embed React app and add new user authentication interface.
- Integrated a React-based web frontend into the Go server using the `embed` package, serving it from `/`.
- Added build and development scripts utilizing Bun for the React app (`package.json`, `README.md`).
- Enhanced auth interface to support better user experience and permissions (`App.jsx`, CSS updates).
- Refactored `/api/auth/login` to serve React UI, removing hardcoded HTML template.
- Implemented `/api/permissions/` with ACL support for user access management.
2025-09-20 19:03:25 +01:00

1.2 KiB

Orly Web Application

This is a React web application that uses Bun for building and bundling, and is automatically embedded into the Go binary when built.

Prerequisites

  • Bun - JavaScript runtime and toolkit
  • Go 1.16+ (for embedding functionality)

Development

To run the development server:

cd app/web
bun install
bun run dev

Building

The React application needs to be built before compiling the Go binary to ensure that the embedded files are available:

# Build the React application
cd app/web
bun install
bun run build

# Build the Go binary from project root
cd ../../
go build

How it works

  1. The React application is built to the app/web/dist directory
  2. The Go embed directive in app/web.go embeds these files into the binary
  3. When the server runs, it serves the embedded React app at the root path

Build Automation

You can create a shell script to automate the build process:

#!/bin/bash
# build.sh
echo "Building React app..."
cd app/web
bun install
bun run build

echo "Building Go binary..."
cd ../../
go build

echo "Build complete!"

Make it executable with chmod +x build.sh and run with ./build.sh.