hudwiz
is a highly configurable, multi-region web application framework built with Rust and Yew, designed for creating dynamic interfaces with multiple navigation and tool regions and corner Heads-Up Display (HUD) overlays.
Language | Build Status | License |
---|---|---|
hudwiz
provides a robust foundation for building complex, real-time web applications. Its modular architecture allows developers to easily compose UIs from a set of configurable regions, and its dynamic content rendering capabilities enable the creation of rich, interactive experiences.
- Key Features
- Getting Started
- Architecture
- How to Build
- Documentation
- Feedback and Contributions
- License
- Contacts
- Multi-Region Layout: A flexible, grid-based layout system with multiple, configurable regions.
- Dynamic Content: Render any web content (iframes, videos, WebGL) in the main panel and background.
- Component-Based: Built with the Yew framework, enabling a modern, component-based architecture.
- Themable: A theme provider allows for easy customization of the application's appearance.
- Real-time Communication: Integrated WebSocket and WebTransport support for real-time data exchange.
- Extensible: A "block" system allows for the creation and sharing of pre-composed UI components.
- Authentication: Built in authentication supporting a mock local provider, Auth Providers and SSO.
This guide will walk you through the process of setting up and running the hudwiz
application on your local machine.
Before you begin, ensure you have the following tools installed:
- Rust: The Rust programming language and its package manager, Cargo. You can install them by following the instructions at rust-lang.org.
- wasm-pack: A tool for building Rust-generated WebAssembly that you can install with
cargo install wasm-pack
.
To build the packages, follow these steps:
# Open a terminal (Command Prompt or PowerShell for Windows, Terminal for macOS or Linux)
# Ensure Git is installed
# Visit https://git-scm.com to download and install console Git if not already installed
# Clone the repository
git clone https://github.com/Abblix/Oidc.Server.git
# Navigate to the project directory
cd Oidc.Server
# Check if .NET SDK is installed
dotnet --version # Check the installed version of .NET SDK
# Visit the official Microsoft website to install or update it if necessary
# Restore dependencies
dotnet restore
# Compile the project
dotnet build
For more detailed information, please see the following documents:
- User Guide: A comprehensive guide to configuring and using the
hudwiz
client. - Integration Guide: A step-by-step tutorial for integrating
hudwiz
into your own applications. - Contributing Guide: Guidelines for contributing to the
hudwiz
project.
hudwiz
is built on a decoupled, client-server architecture. The frontend is a Single Page Application (SPA) created with the Yew framework, while the backend is a Rust server built with axum
.
The following diagram provides a high-level overview of the hudwiz
architecture:
graph TD
subgraph "Browser"
A[hudwiz Frontend]
end
subgraph "Server"
B[axum Web Server]
C[PostgreSQL Database]
end
A -- "HTTP/S, WebSocket/WebTransport" --> B
B -- "SQL" --> C
This project is licensed under the MIT License. See the LICENSE file for details.