Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backend roadmap for making moggie 1.0 possible #6

Open
20 of 53 tasks
BjarniRunar opened this issue Feb 23, 2023 · 0 comments
Open
20 of 53 tasks

Backend roadmap for making moggie 1.0 possible #6

BjarniRunar opened this issue Feb 23, 2023 · 0 comments

Comments

@BjarniRunar
Copy link
Member

BjarniRunar commented Feb 23, 2023

This expands on the moggie 1.0 section of Issue #1, taking the list of user-visible feature goals, and mapping them to back-end capabilities and API endpoints / CLI tools.

Common back-end features not directly related to list in Issue #1:

  • Encrypted search index for handling sensitive data
  • Logging
  • Microservice framework to avoid the Python GIL
  • Configuration system, with partial encryption for sensitive data
  • i18n support for translating the software itself
  • Test suite for avoiding regressions (black-box for CLI API, unit tests for internal)
  • Command-line and WEB API framework
  • Remote access to Web API (PageKite)
  • CLI/WEB API documentation framework
    • moggie help
    • generate man pages
    • generate web pages

Basic non-networked features:

  • Read local (mbox, Maildir) email
    • moggie search mailbox:/path/to/file/...
  • Handle attachments
    • moggie.storage.files
    • moggie.email.parsemime
    • moggie parse
  • Delete email from local (mbox, Maildir) mailboxes
    • moggie.storage.files
    • moggie delete
  • Move email from one mailbox to another
    • moggie.storage.files
    • moggie move, moggie copy ?
  • Notify user that new mail has arrived
    • moggie.workers.remote - IMAP IDLE support
    • moggie new
  • Add messages to a search engine
    • moggie.workers.importer
    • moggie import
    • moggie new
  • Allow user to search for mail
    • moggie.workers.search
    • moggie search
  • Handle message threads correctly
    • moggie.app.core.api_req_mailbox (also detect threads within a single mailbox)
    • moggie.email.metadata
    • moggie search
    • moggie parse
  • Display HTML and text content
    • moggie.security.html
    • moggie parse
    • [x ] moggie show
  • Compose
    • moggie address - for address autocompletion
    • moggie email
  • Reply
    • moggie email --forward
    • moggie reply
  • Forward
    • moggie email --forward
    • moggie forward
  • Send (local sendmail)
    • moggie.util.sendmail
    • moggie email --send-via
    • moggie send in:outbox
  • Tag / untag emails manually
    • moggie tag
  • Tag / untag emails automatically (manual filters and bayesian)
    • moggie.search.filters
    • moggie filter

Networking capabilities:

  • Read remote (IMAP, POP3) email
    • Handle authentication failures, prompt user for username/password
    • moggie.workers.storage
  • Delete / move email from remote (IMAP, POP3) mailboxes
    • moggie.workers.storage
    • moggie delete
    • moggie move
  • Send (SMTP/submission)
    • moggie.util.sendmail
    • moggie email --send-via
    • moggie send
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant