No description
Find a file
2025-07-14 14:05:08 -07:00
.zed feature: events polling 2025-07-02 21:28:07 -07:00
models feature: chat is working? 2025-07-04 12:15:06 -07:00
public feature: try to get chat to actually work 2025-07-11 18:33:32 -07:00
tests feature: events polling 2025-07-02 21:28:07 -07:00
utils docs: update readme 2025-07-08 18:10:09 -07:00
.gitignore feature: initial commit 2025-06-24 15:40:30 -07:00
deno.json chore: upgrade fsdb 2025-07-14 14:05:08 -07:00
deno.lock chore: upgrade fsdb 2025-07-14 14:05:08 -07:00
Dockerfile fix: maybe we can't write outside the deno PWD 2025-07-11 20:09:09 -07:00
README.md feature: add Dockerfile 2025-07-11 19:21:47 -07:00

autonomous.contact

Bringing the BBS back.

TODO

These are in no particular order. Pull requests updating this section welcome for feature discussions.

  • should everything be an event in a room?
  • get a first-pass podman/docker setup up
  • sign up
  • check for logged in user session
  • log in
  • refactor login/sessions/totp
  • chat rooms
    • chat messages
    • clean up after initial implementation
      • split the monolithic talk.html up
    • chat message processing
      • auto-link urls
        • use this regex: (?:(?<protocol>[a-zA-Z]+):\/\/)?(?:(?<auth>(?<username>\S.+)\:(?<password>.+))\@)?(?<host>(?:(?<hostname>[-a-zA-Z0-9\.]+)\.)?(?<domain>[-a-zA-Z0-9]+?\.(?<tld>[-a-zA-Z0-9]{2,64}))(?:\:(?<port>[0-9]{1,6}))?)\b(?<path>[-a-zA-Z0-9@:%_{}\[\]<>\(\)\+.~&\/="]*)(?:\?(?<query>[a-zA-Z0-9!$%&<>()*+,-\.\/\:\;\=\?\@_~"]+))?(?:#(?<hash>[a-zA-Z0-9!$&'()*+,-\.\/\:\;\=\?\@_~"]*?))?
      • preview cards for links
      • embedded video for
        • youtube
        • vimeo
        • tiktok
      • embedded audio or audio cards for:
        • tidal
        • spotify
        • youtube (any way to differentiate for yt music?)
      • punycode urls before url extraction? (see: https://stackoverflow.com/a/26618995)
      • gif support
        • start/stop gif control
        • hide control
      • inline image support
        • hide control
    • try to select immediate sibling messages from the same user and hide mulitple avatars
  • user profile page
    • logout button
    • profile editing
    • avatar uploads
  • admin panel
    • add invite code generation
      • AC_REQUIRE_INVITE_CODE: boolean env var/setting
    • AC_DIRECTORY_SERVERS: |-separated list of directory servers to report to these central servers could be distributed directories - your town might run one, your state, your country, or you could publish to a public one that is organized around interests
  • combined "bulletin board" instead of exchange/work?
    • post-it style notes with tag and keyword filtering?
  • simple wiki for resources
  • simple calendar with public/private event tracking
    • caldav support
  • smart forms
    • use the api for forms so requests will be authenticated
    • support multiple methods
    • add on_parsed to allow injecting additional data
    • refine on_response/on_reply
  • media uploads

Getting Started Developing

  1. Install Deno

    Run their shell script (note: as yourself, not root)

    curl -fsSL https://deno.land/install.sh | sh
    

    Or using Nix:

    nix-shell -p deno
    
  2. Clone the repo:

    git clone https://andyburke.dev/andyburke/autonomous.contact.git

  3. Start the server:

    deno run task serve

  4. Navigate to http://localhost:8000

  5. Edit some code and check it out.