85 lines
2.3 KiB
Markdown
85 lines
2.3 KiB
Markdown
# 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
|
|
|
|

|
|
|
|
|
|
### 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. |