Skip to content

hildebro/kleebah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kleebah

Motivation

Accessible software to share blogs, vlogs, links or anything else without being locked into a privately owned ecosystem.

Features

Required for 1.0

  • Markdown editor for writing blogs
  • Editing/deleting existing blogs
  • Blog viewer
  • RSS feed
  • Image upload
  • Authentication with optional 2FA
  • Docker setup
  • Proper GitHub releases
  • Subscriber CRUD (username, password)
  • Option to make a blog entry private, limiting access to subscribers
  • Token generation per subscriber to receive private blog entries in their RSS feed
  • (Temporary) self-registration link that can be generated by admin
  • Role-management
    • Admin setting to define roles, hierarchies possible
    • Default roles family, friends, close friends
    • Add multi-select field to subscriber CRUD
    • Option on private blog entries to define required roles
    • Update RSS feed to consider roles
  • docs folder to host a static explainer website in github pages
    • Wizard to find the optimal way of hosting for each user
  • Multi-blog instances with caddy docker, subdomain per blog
  • Automatic deployment strategy
  • Well-structured CSS to style the whole app
  • Miscellaneous cleanup / small features
    • less duplicate code in CRUD backend
    • enable deletion of posting images
    • display form validation errors with toasts
    • better structure for lib/server folder
    • handle deletion attempts, if foreign key references exist

Post 1.0

  • Demo instance, linked on the explainer website
  • Use environment variables to set up initial admin automatically
  • Support for draft / hidden flag on postings
  • Backups
    • Simple download of files and database in a tarball
    • Restore from tarball backup
    • Automated backup solution (maybe SFTP or Borg)
  • Automated
  • Cache blog access
    • Used for RSS feed and web list of blogs
    • Invalidated based on role change (on subscriber or blog level)
  • Alternative to classic blogs
    • Link post
    • Image (carousel) post
    • Allow embedding of carousel in classic blog as well
  • Option to switch between Markdown and HTML blog editor
  • Blog templates
  • Email support (Mailgun or Mailjet)
    • Add email to user schema
    • Input fields for API credentials
    • Send welcome email to new subscriber
    • Enable OTP login via email
    • Switch for admin to allow blog delivery via email
    • Switch for subscribers to receive delivery via email
  • Invite link via QR-code
  • Standalone apps via Tauri
  • Telegram support (to be defined)
  • Admin CRUD (no single owner, all admins are identical)
  • Auditing for admin settings
  • Writer CRUD (can write blogs, but not change admin settings)
  • Public API
  • Custom feed within the app as RSS feed alternative
  • Most dead simple way to find people to follow
    • Optional phone number field in the settings
    • Phone number is hashed, then sent to some central server with database, along with blog URL
    • Anyone who wants to find all of their friends' blogs can give access to their address book on phone
    • App will then hash all of the numbers and ask central server to give blog URLs for each
    • User can then simply subscribe to the public blog or ask for private blog access
    • Option to change the central server endpoint, so different communities can have their own private ledgers
  • Webfinger integration

Tech Stack

  • SvelteKit for frontend and backend
  • Vanilla Tailwind for styling
  • SQLite database

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •