- 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.
1.2 KiB
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
- The React application is built to the
app/web/distdirectory - The Go embed directive in
app/web.goembeds these files into the binary - 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.