generust-example-project is an example application built using generust
Running as a client application or shared server, generust-example-project has a focus on performance, correctness, and developer comfort.
See installing.md for installation guidance. After installing, run generust-example-project -h to get started.
See scripts.md for available tools for building, running, and packaging the app.
Crates
generust-example-project splits its code into several library crates:
generust-example-project-assets: Contains embedded static files intended to be served from the web applicationgenerust-example-project-client: Run in the client's browser as a WebAssembly package, includes templatesgenerust-example-project-controllers: Contains actix-web HTTP controllers, usually calling methods fromgenerust-example-project-servicegenerust-example-project-core: Contains definitions that are shared between server and clientgenerust-example-project-service: Contains the primary logic for the application. It receives RequestMessages and emits ResponseMessagesgenerust-example-project-templates: Contains Maud templates used by the server to render responsesgenerust-example-project: Stored in the root of the project, this is the app's main library and binary
Config
The project currently exclusively uses the filesystem for saved data, no database is involved.
Directories
By default, generust-example-project stores config files in your system's user configuration directory.
- macOS: ~/Library/Application Support/generust-example-project
- Linux: ~/.config/generust-example-project
- Windows: %APPDATA%/generust-example-project/generust-example-project
Files
profile/*: User profile information