Please sign in to access this page

SiteBook

SiteBook

7 devlogs
24h 45m
•  Ship certified
Created by M-Mrk

SiteBook strives to be an error Robust platform for you to list your (self hosted) Apps, so you dont have to remember their IPs/URLs as well as details about them. Now you just have to write those in SiteBook, either via the Yaml config or via the UI. I personally created this because I had to keep checking my routers IP table for the ips of my self hosted stuff which was always a major inconvenience, so I created this! Demo takes a bit to load

Timeline

Ship 1

1 payout of shell 443.0 shells

M-Mrk

8 days ago

M-Mrk Covers 7 devlogs and 24h 45m
M-Mrk
M-Mrk
1h 58m 8 days ago

Shipment:
What I did:
finalized repo, created install script, added waitress as production wsgi server.

What SiteBook is:
SiteBook is a web App you self host in which you can list websites/services, so that you don't have to remember them yourself.

Why someone should use it:
If you have alot of self hosted applications or webSites you access frequently and can not or dont want to remember all of their IPs/URLs use SiteBook (and you can add descriptions for other related stuff which you cant remember), so you only have to remember 1!

Features:

Yaml configuration, for both the entries and the settings, which can be edited via the built in editor.
Strict Yaml validation
You can also add Entries via the UI.
Clear error description to what happend, if something happend.
Robust (Hopefully) Error Handling, most errors especially non critical ones do not require a restart just a refresh!
Theme System, this allows other users (or you) to create your own html view too tweak SiteBook to your liking.
Update attachment
M-Mrk
M-Mrk
3h 27m 9 days ago

Day 10:
Added built in editor (standard theme uses monaco editor (same as VSCode)), aswell as paths for getting, validating and writing yaml from the UI.

Next Step will be too polish the stuff around the project (README, etc)

Update attachment
M-Mrk
M-Mrk
2h 20m 10 days ago

Day 9:
Added a way to add entries via UI and greatly improved file restoration if an error occurs. You can now also have entries with just a name and no other information.

Update attachment
M-Mrk
M-Mrk
1h 16m 17 days ago

Day 8:
Added Power Options. Today I worked on adding power options like stopping the server and restarting the server. Now you can also restart the server if it ran into a critical error. And started to work on a dynamic system for getting all available entry options like url, description and picture, so themes can be more compatible

Update attachment
M-Mrk
M-Mrk
4h 59m 18 days ago

Day 7:
Completely reworked the errorHandling to now use message, origin and category. This new category system is composed of a top category and sub category to better describe the topic of the error. Categories look like this TOP.SUB for example a permission error while reading the yaml would be FILESYSTEM.PERMISSION or wrong yaml syntax would resolve into CONFIG.SYNTAX. These categories help the app to know which errors can be automatically flushed and rechecked and which have to require manual intervention. With this implementation I now have a centralized way of handling errors. When any error is set all webserver actions redirect to page listing all errors. On (re)load of this page all non critical errors are rechecked. As I want SiteBook to be as stable/uncrashable as possible, even when an error occurs during startup the app goes into a special state which disables all functionality except the error page. This way the webserver can still start and show the error.

I also migrated from material Icons and symbols to bootstrap icons, as 1. I just could not get the material Icons to align with text and 2. less google can not hurt.
I might add the optional functionality of downloading a local version of bootstrap to make it less internet dependent!

Update attachment
M-Mrk
M-Mrk
3h 22m 20 days ago

Day 3-6:
Did not have a lot of time, but managed to rework yaml logic so it now works with nested yaml. Added and moved settings like port secretKey and debug under server. Also managed to fix my touchpad drivers (hopefully)!

Update attachment
M-Mrk
M-Mrk
7h 20m 24 days ago

Day 1 and 2:
Added basic UI as well as yaml functionality (writing, reading and validating). Will try to follow the principal of allowing hot reloads, so changing settings and if an error occurs just fixing the yaml and then just having to reload the page and not restart everything! Added theme system so users could use others or their own theme by adding custom html with jinja2.

Update attachment