# 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 ### Philosophies - Semantic over Mnemonic - As flat HTML as possible ### On the Backend - `axum` as webserver framework - `minijinja` as template renderer - `sea-orm` as database framework ### On the Frontend - `markdown.css` to provide out of the box CSS for markdown - `hyperscript` for light weight event scripting - `htmx` for service interaction - `Fomantic-UI` as default CSS framework (once Semantic) ## Features ### The aims of the project for now are: - [x] Template Rendering with Hot-Reload - [x] Static-File Serving - [x] Logging - [x] 404 Handler - [ ] 500 Handler - [ ] Media File Serving - [ ] Admin Site with Registry - [ ] Storage based tools (for files and cloud) - [ ] Database - [ ] Redis / KV Store ### Future Ideas: - Direct Markdown Sites as wikiserve with the storage tools - `static-image` and `media-image` Service for automatic thumbnails - User and Role Implementation - Event-Bus link to RabbitMQ ### Windows 10 Env if using MINGW64; ```shell 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'` ### Mugshot ![Mugshot of Admin](./docs/mugshot.png)