MiniWeb Template
docker | ||
migrations | ||
src | ||
static | ||
templates | ||
.env.sample | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
diesel.toml | ||
Justfile | ||
README.md |
MiniWeb
Abstract
This is a biased little project, that tries to establish a basic infrastructure to build a webservice.
The main objective is to build a basic template one can quickly start developing a service with
The project aims to implement approaches as simple straight-forward over generalized multi-purpose.
It assumes that you clone the code, and adjust it from there, without keeping up to date. So this is not thought of being a framework.
Choices
On the Backend
axum
as webserver frameworkminijinja
as template rendererdiesel
as database frameworkrust_embed
to embed vital static files
On the Frontend
markdown.css
to provide out of the box CSS for markdownhyperscript
for light weight event scriptinghtmx
for service interactionGUIKit
for a default CSS framework
Features
The aims of the project for now are:
- Template Rendering with Hot-Reload
- Static-File Serving
- 404 Handler
- 500 Handler
- Media File Serving
Future Ideas:
- Direct Markdown Sites with wikiserve
static-image
andmedia-image
Service for automatic thumbnails- Small Admin Layer
- User and Role Implementation
- Event-Bus link to RabbitMQ
- Logging
Development Installation
For Dev with SQLite
cargo install diesel_cli --no-default-features --features postgres
Windows 10
Env if using MINGW64; export PATH=$PATH:"/c/Program Files/PostgreSQL/12/bin" export PQ_LIB_DIR="C:\Program Files\PostgreSQL\12\lib"
Install a postgres: choco install postgresql12 --force --params '/Password:root'