No description
Find a file
Andy Burke 51acbef35f docs: update readme
chore: session timoeouts up
feature: started to look at doing something around durations for some
forgotten reason, but don't want to just abandon this now 🤷
2025-07-08 18:10:09 -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 docs: update readme 2025-07-08 18:10:09 -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 fix: login sessions 2025-07-04 14:51:49 -07:00
deno.lock fix: login sessions 2025-07-04 14:51:49 -07:00
README.md docs: update readme 2025-07-08 18:10:09 -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?
  • sign up
  • check for logged in user session
  • log in
  • refactor login/sessions/totp
  • chat rooms
    • chat messages
    • chat message processing
      • auto-link urls
        • use this regex?: (?:(?<protocol>[a-zA-Z]+):\/\/)?(?:(?<auth>(?<username>\S.+)\:(?<password>.+))\@)?(?<host>(?<hostname>[-a-zA-Z0-9\.]{2,256}\.(?<tld>[-a-zA-Z0-9]{2,256}))(?:\:(?<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
  • 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.