Skip to content

Latest commit

 

History

History
99 lines (84 loc) · 3.37 KB

README.md

File metadata and controls

99 lines (84 loc) · 3.37 KB

BBS.io Reader

Work in Progress

This application will serve as an Email and Message Board reader for use mainly with BBS services. Currently working on setting up build/release automation.

Recommended IDE Setup

Why?

Starting this as a project as most qwk and nntp readers generally suck and/or are antiquated. Thunderbird is all but completely unusable with NNTP + Synchronet and QWK Readers are also somewhat dated, and I found multimail didn't work correctly for me out of the box.

I want a GUI based message reader for BBS message boards with a modern UI/UX. I'm using Rust on the backend to learn the language, and because I think it's a good choice, generally speaking. I'm using Tauri with a browser based UI because I'm very comfortable with browser based UI/UX and want to reduce the friction on the UI from what I will experience in learning the backend.

I will make a best effort to write clear, discoverable code. This project may or may not follow best practices. On the backend, because I'm learning as I go. On the frontend, because I'm probably going to be taking shortcuts as a faster path to done.

I probably won't try to integrate into any release prospects until after I have an MVP of NNTP and Email (SMTP/POP) at the very least. I will be testing this against my own BBS, which runs Synchronet. I may also create extended support for some services specifically with Synchronet (ANSI User Icons and Polls).

Longer term, after MVP, but before enhanced rendering I will make an effort to get updating releases into the various stores for OS use... I will likely limit Linux to Flathub and possibly Snapcraft, but unlikely to do any distro integration beyond this.

TODO

High level TODO list. Note: Anything before 1.0 can have breaking changes at any time regardless of the version.

  • Release Tracking (release-please)
  • React + MUI front end
    • BBS Configuration Entry
  • Communication to/from Rust backend
    • Save/Load BBS Configuration Entries
    • Figure out settings/data path(s)
    • SQLite in Rust
  • NNTP Group List
  • NNTP Group Subscribe
  • NNTP Fetch Headers/Bodies
  • Display Message List (flat)
    • Classic 3-pane layout
    • Groups/Forums on left
    • Message List on upper-right
    • Message+Header lower-right
  • Display Message Header
  • Display Message (flat/plain text)
  • Purge Old/Read Support
    • Database vaccuum
  • Github Release Binaries (0.5.x)
    • Windows
      • x86_64 (msi, exe)
      • x86_64 offline (include web component, large) (msi, exe)
    • Mac
      • x86_64 (dmg, .app.tgz)
      • aarch64 (dmg, .app.tgz)
    • Linux
      • x86_64 AppImage
      • x86_64 .deb
      • armv7 AppImage
      • armv7 .deb
      • aarch64 AppImage
      • aarch64 .deb
  • Automated updates (0.6.x)
  • E-Mail (smtp/pop) (0.7.x)
  • Enhanced rendering (ansi/colors, etc) (0.8.x)
  • MVP Release v1.0
    • automated updates
    • Will test in v0.9.x and Push 1.0 when working/tested
  • Store integrations
    • WinGet
    • Windows Store
    • Apple Mac Store
    • Flathub
    • Snapcraft?
  • QWK Support
  • FTP for QWK
  • Message Attachments

License

MIT License