MiniWeb Template
docker | ||
docs | ||
entity | ||
migration | ||
rear | ||
rear_auth | ||
src | ||
static | ||
strinto | ||
templates | ||
.env.sample | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Justfile | ||
NOTES.md | ||
README.md | ||
TODOS.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
Philosophies
- Semantic over Mnemonic
- As flat HTML as possible
On the Backend
axum
as webserver frameworkminijinja
as template renderersea-orm
as database framework
On the Frontend
markdown.css
to provide out of the box CSS for markdownhyperscript
for light weight event scriptinghtmx
for service interactionFomantic-UI
as default CSS framework (once Semantic)
Features
The aims of the project for now are:
- Template Rendering with Hot-Reload
- Static-File Serving
- Logging
- 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
andmedia-image
Service for automatic thumbnails- User and Role Implementation
- Event-Bus link to RabbitMQ
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'
Mugshot
Project Structure
Root Folders
- docker: all about docker, atm. database docker image for development.
- docs: place for all future documentation, including this.
- entity: crate containing database models
- migration: crate containing database migrations
- rear: crate containing the main library for rear
- src: crate containing a runnable project implementing rear as a demo project
- static: static files used by rear
- strinto: experimental crate for an idea.
- templates: all templates for rear-admiral.