-
Notifications
You must be signed in to change notification settings - Fork 7
Markdown system for outreach team ( not ready for review ) #123
Description
We need this to get our outreach team productive fast and Markdown
- no github aspects is the fast way as they cant use github.
- gets us off google docs so we can reuse markdown is what we need.
used for:
- edit docs that are used for website that is embedded in product.
- edit notes for orgs that we are working with and helping to onboard.
- whatever else comes up...
Needs:
- Flutter Markdown editor
- One to one reflection of Folders in Store and GUI. No abstraction = no confusion. Need FLutter folder widget.
- Store is S3.
- If we can add Github store as option will be good because will then allow reuse for that..
- Is we use the badger gcs abstraction that will make a great editor module for users later too.
- Evented, so that file save updates other persons GUI. We don't want to get into text level sync.. maybe later with some code from https://github.com/Jeffail/leaps
- Easy to run
- Fully in CI, CD, so non teechy can download from github and run it.
- Auth just needs a password that is entered on top nav. No dialog complexity. The password they enter is the password all the way in to S3. No abstractions needed.
- zero config. Path to S3 is in the code.
- image upload into GUI.
- Web based. Will run under GCN domain under a special subdomain on a server not used for anything else.
Code
We could just use this: https://github.com/VSCodium/vscodium#why-does-this-exist
- and make it a web site with this: https://github.com/cdr/code-server
- BUT it wont solve the problem of saving things to GCS, and uploading imagses etc.
Editor:
https://github.com/dart-lang/markdown
- Demo: https://dart-lang.github.io/markdown/
- tested it for basics and images and it worked
Key Store:
when they put in password we need to store it so next time they dont need to. Make things simple for them.
https://pub.dev/packages/flutter_secure_storage
Need to add go-flutter implementation. The golang lib in shared/server/keyring will work and i tested on mac so far. github.com/martinohmann/keyring
- reach out to go-flutter team on this ? Secure storage plugin for storing user data in the TPM chip on all desktops. go-flutter-desktop/go-flutter#565
Store :
For ease of use we could use a flutter S3 lib and go direct to S3 and have no server. This would mean that Desktop installs need zero stuff running by us because it just works off s3. This is highly advantageous
- https://pub.dev/packages/firebase_storage
- Web and google desktop support
Reference:
- https://github.com/thruthesky/fireflutter#installation
- Its too complex but has lots of the bits we want.
- Looks right.
OR
We embed this into go-flutter. Yes we can easily. No server needed then. No firebase arsing around. Wont work on web but for this Issue its fine, and in many ways better.
Use the gcsstrore and badgerstore lib https://github.com/creachadair/badgerstore and https://github.com/creachadair/gcsstore
Upload from desktop to Web: https://pub.dev/packages/file_picker
- Web, go-desktop supported.
- Is maintained.
Booty: not needed, and can sue a custom ci yaml to get it working fully.
- Can use our booty system once it settles down.
Repo: Own repo... Seperate from all other things.