A JSON/binary CRUD protocol for isomorphic Go applications. Supports batch operations, SSE responses, and runs the same handler logic on both WASM frontend and Go backend.
- Isomorphic: Same handler code on frontend (WASM) and backend (Server)
- Batch Processing: Multiple operations consolidated into single HTTP requests
- SSE Responses: Async response delivery via Server-Sent Events
- TinyGo Compatible: Optimized for small WASM binaries
- Local-First: Queue-based offline support with automatic sync
// Handler (shared frontend/backend)
type UserHandler struct{}
func (h *UserHandler) HandlerName() string { return "user" }
func (h *UserHandler) Create(ctx context.Context, data ...any) any {
// Backend: process and return Response
// Frontend: update DOM and return nil
}docs/ARCHITECTURE.md: Main specification and implementation statusdocs/CONFIG.md: Configuration systemdocs/HANDLER_REGISTER.md: Handler interfaces and registrationdocs/RESPONSE.md: Returning responses from handlersdocs/SSE_BROKER.md: SSE Broker and Packet Batchingdocs/PACKET_STRUCTURE.md: Packet and response structures
docs/INTEGRATION_GUIDE.md: How to integrate CRUDPdocs/FILE_UPLOAD.md: File handling with "Upload & Reference" patterndocs/HTTP_ROUTES_AND_MIDDLEWARE.md: HTTP Routes and Middlewaredocs/LIMITATIONS.md: Supported data types
docs/INITIAL_VISION.md: Original vision and requirementsdocs/OPTIMIZATION_PLAN.md: Performance optimizationsdocs/PERFORMANCE.md: Benchmark results