# 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 framework - `minijinja` as template renderer - `diesel` as database framework - `rust_embed` to embed vital static files ### On the Frontend - `markdown.css` to provide out of the box CSS for markdown - `hyperscript` for light weight event scripting - `htmx` for service interaction - `GUIKit` for a default CSS framework ## Features ### The aims of the project for now are: - [x] Template Rendering with Hot-Reload - [x] Static-File Serving - [x] 404 Handler - [ ] 500 Handler - [ ] Media File Serving ### Future Ideas: - Direct Markdown Sites with wikiserve - `static-image` and `media-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'