# 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