First workspace commit
This commit is contained in:
146
peach-web/docs/FEATURES.md
Normal file
146
peach-web/docs/FEATURES.md
Normal file
@ -0,0 +1,146 @@
|
||||
# peach-web
|
||||
|
||||
## Features List
|
||||
|
||||
A first draft of desirable features for the PeachCloud web admin interface.
|
||||
|
||||
_Note: This is a work-in-progress. Expect changes._
|
||||
|
||||
_First-pass at organizing features categorically_
|
||||
|
||||
**Summary:**
|
||||
|
||||
- Profile
|
||||
- Peers
|
||||
- Invites
|
||||
- System Status
|
||||
- Configuration
|
||||
- Documentation
|
||||
- Network
|
||||
- _Not sure if this one is made redundant by System Status & Configuration_
|
||||
- _Could also be 'Monitoring' (showing graphs of SSB network acitivty_
|
||||
|
||||
**Detail:**
|
||||
|
||||
- Profile
|
||||
- Display avatar
|
||||
- Set avatar (upload file)
|
||||
- Display bio
|
||||
- Update bio
|
||||
- Peers
|
||||
- List friends
|
||||
- List followers
|
||||
- List follows
|
||||
- List locally-connected peers
|
||||
- Follow
|
||||
- Unfollow
|
||||
- Block
|
||||
- Mute (private block)
|
||||
- Private-message a peer
|
||||
- Invites
|
||||
- Create an invite
|
||||
- Text-based (hash)
|
||||
- Image-based (QR-code)
|
||||
- Audio-based (possible?)
|
||||
- Share an invite
|
||||
- Send to a peer within SSB (private message)
|
||||
- Share publically within SSB (public post)
|
||||
- Send via email
|
||||
- Accept an invite
|
||||
- Monitor an invite
|
||||
- Check if the invite has been accepted
|
||||
- For multi-use invites, show number of used & unused invite-slots
|
||||
- Cancel an invite (_not sure if this is currently possible_)
|
||||
- Documentation
|
||||
- Browse
|
||||
- Scuttlebot
|
||||
- Scuttlebutt
|
||||
- PeachCloud
|
||||
- _Link to external docs or host locally for offline-first viewing?_
|
||||
- Search
|
||||
- Notes
|
||||
- Add personal notes to document specific workflows etc.
|
||||
- Display notes
|
||||
- Delete notes
|
||||
- System status
|
||||
- Hardware
|
||||
- CPU usage
|
||||
- Memory usage
|
||||
- Storage usage
|
||||
- Disk I/O
|
||||
- Software
|
||||
- Version info of PeachCloud, sbot, plugins
|
||||
- Scripts
|
||||
- Plugins
|
||||
- Power
|
||||
- Power source (mains, battery, solar panels)
|
||||
- Battery level and status (ie. 60% - charging)
|
||||
- Network
|
||||
- Display network mode (AP or client)
|
||||
- If AP, list connected devices
|
||||
- Display current connection(s)
|
||||
- Ethernet
|
||||
- WiFi
|
||||
- Bluetooth
|
||||
- NFC
|
||||
- LoRa
|
||||
- Display signal strength
|
||||
- Display bandwidth usage
|
||||
- Display hostname & external IP
|
||||
- Display internal IP
|
||||
- Logs
|
||||
- Display system logs
|
||||
- Errors
|
||||
- List errors
|
||||
- Report a bug / error
|
||||
- Via SSB message
|
||||
- Via email
|
||||
- Configuration
|
||||
- Access control
|
||||
- Change user password
|
||||
- Change administrator password
|
||||
- Manage guest account
|
||||
- Enable / disable SSH
|
||||
- Blob management
|
||||
- Prune blobs
|
||||
- By size
|
||||
- By date
|
||||
- By author
|
||||
- Network
|
||||
- Set network mode (AP or client)
|
||||
- List available networks
|
||||
- Connect to a network
|
||||
- Disconnect from a network
|
||||
- Routing
|
||||
- Select routing over IPv4, IPv6
|
||||
- Enable / disable routing over CJDNS / Yggdrail
|
||||
- Updates
|
||||
- Check for available updates
|
||||
- Download updates
|
||||
- Install / apply update
|
||||
- Backups
|
||||
- Create backup
|
||||
- Secret key
|
||||
- Configuration (device settings)
|
||||
- Export backup
|
||||
- External storage (USB)
|
||||
- Dark Crystal
|
||||
- IPFS / Dat
|
||||
- List backup history
|
||||
- Schedule backups
|
||||
- Delete previous backups / backup history
|
||||
- Alerts
|
||||
- Set alerts based on CPU, memory, disk, bandwith-usage thresholds
|
||||
- List previously-defined alerts
|
||||
- Delete alerts
|
||||
- Plugins
|
||||
- List available plugins / extensions
|
||||
- _E.g. ssb-web viewer, git-ssb viewer_
|
||||
- Activate a plugin
|
||||
- Deactivate a plugin
|
||||
- Define plugin settings
|
||||
- Miscellaneous
|
||||
- List current datetime
|
||||
- Set datetime
|
||||
- Display current timezone
|
||||
- Set timezone
|
49
peach-web/docs/RESOURCES.md
Normal file
49
peach-web/docs/RESOURCES.md
Normal file
@ -0,0 +1,49 @@
|
||||
# peach-web
|
||||
|
||||
## Resources
|
||||
|
||||
### Raspberry Pi
|
||||
|
||||
[Installing Debian ARM64 on Raspberry Pi 3 with WiFi](https://quantum2.xyz/2017/10/27/installing-debian-arm64-on-raspberry-pi-3-with-wifi/)
|
||||
|
||||
[Debian buster on the Raspberry Pi 3 (update) (2018-01-08)](https://people.debian.org/~stapelberg/2018/01/08/raspberry-pi-3)
|
||||
|
||||
**Networking**
|
||||
|
||||
[Setting up a Raspberry Pi as a WiFi access point](https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/overview)
|
||||
|
||||
[Switching Between Client Mode and Access Point Mode on Raspberry Pi](http://shortcircuitsandinfiniteloops.blogspot.com/2018/02/switching-between-client-mode-and.html)
|
||||
|
||||
- No need for additional / external WiFi adapter
|
||||
|
||||
[Using your new Raspberry Pi 3 as a WiFi access point with hostapd](https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/)
|
||||
|
||||
- _Note: Successfully used this to configure my Pi 3 as a WiFi access point (including DHCP)_
|
||||
|
||||
[Starting hostapd when WiFi goes down (bash script)](http://sirlagz.net/2013/01/22/script-starting-hostapd-when-wifi-goes-down/)
|
||||
|
||||
[Raspberry Pi Zero W Simultaneous AP and Managed Mode Wifi](https://blog.thewalr.us/2017/09/26/raspberry-pi-zero-w-simultaneous-ap-and-managed-mode-wifi/)
|
||||
|
||||
- Could be helpful when it comes to switching between managed and AP mode
|
||||
|
||||
[RPi Switch Between AP and Client Mode](https://raspberrypi.stackexchange.com/questions/44184/switch-between-ap-and-client-mode)
|
||||
|
||||
[Using a Raspberry Pi 3 as a WiFi Client and Access Point simultaneously](http://www.marrold.co.uk/2017/03/using-raspberry-pi-3-as-wifi-client-and.html)
|
||||
|
||||
**GPIO**
|
||||
|
||||
rppal ([Crate](https://crates.io/crates/rppal), [Repo](https://github.com/golemparts/rppal), [Docs](https://docs.golemparts.com/rppal))
|
||||
|
||||
- Interface for the Raspberry Pi's GPIO, I2C, PWM and SPI peripherals (Rust)
|
||||
|
||||
[How to Setup an I2C LCD on the Raspberry Pi](http://www.circuitbasics.com/raspberry-pi-i2c-lcd-set-up-and-programming/) (Python)
|
||||
|
||||
### UI / UX
|
||||
|
||||
**Fantasy UI**
|
||||
|
||||
[Mark Coleran](http://coleran.com/) - large portfolio of FUI projects
|
||||
|
||||
[A Conversation About Fantasy User Interfaces](https://www.subtraction.com/2016/06/02/a-conversation-about-fantasy-user-interfaces/) - interview of Kirill Grouchnikov by Khoi Vinh
|
||||
|
||||
[Pushing Pixels](https://www.pushing-pixels.org/fui/) - FUI interviews
|
74
peach-web/docs/research/pub_questions.md
Normal file
74
peach-web/docs/research/pub_questions.md
Normal file
@ -0,0 +1,74 @@
|
||||
These questions were drawn from the #pub-help channel, viewed from the perspective of [@mycognosist](@HEqy940T6uB+T+d9Jaa58aNfRzLx9eRWqkZljBmnkmk=.ed25519) and spanning approximately 2 years.
|
||||
|
||||
_Note: list is incomplete and loosely grouped for now_
|
||||
|
||||
### Hardware
|
||||
|
||||
- What are the minimum hardware requirements for running a pub?
|
||||
- Disk space
|
||||
- How much is required?
|
||||
- At what rate will usage increase?
|
||||
- When can usage expect to stabilize?
|
||||
- CPU & memory usage
|
||||
- How much is being used?
|
||||
|
||||
### Peers
|
||||
|
||||
- Local peers
|
||||
- Who am I connected to?
|
||||
- Which pubs am I syncing with?
|
||||
- Replication
|
||||
- How many hops away will my pub replicate?
|
||||
- How can I increase / reduce the replication reach?
|
||||
- Users / peers
|
||||
- How many people follow my pub?
|
||||
- How many people is my pub following?
|
||||
- How can I unfollow / block a peer / account?
|
||||
- Discovery
|
||||
- Once my pub is running, how can I publish / share discovery details?
|
||||
- Sync
|
||||
- How often will my pub sync with peers?
|
||||
- How can I be sure my pub is syncing successfully?
|
||||
|
||||
### Networking
|
||||
|
||||
- Public IP & port
|
||||
- How can I check / configure these details?
|
||||
- Is it possible to proxy a pub to be able to listen to a port that is common with an HTTP server?
|
||||
- Connections
|
||||
- How many incoming & outgoing connections is my pub experiencing?
|
||||
- Who / where / what am I connected to?
|
||||
- NAT
|
||||
- How can I ensure local network users are able to reach my pub behind a NAT?
|
||||
- Bandwidth
|
||||
- How much is required?
|
||||
- Is there a per-user average?
|
||||
- CJDNS / Yggdrasil
|
||||
- How can I configure my pub to route in this way?
|
||||
- How can I limit routing to IPv4 / IPv6 / CJDNS / Yggdrasil?
|
||||
|
||||
### Testing
|
||||
|
||||
- How can I be sure my pub is working properly?
|
||||
|
||||
### Errors
|
||||
|
||||
- Slow response
|
||||
- How many peers is too many?
|
||||
- Why else might my pub be responding slowly?
|
||||
- Crashes and error reporting
|
||||
- What's the best way to report a crash or error?
|
||||
- What info should I submit?
|
||||
- Who can I contact to request assistance?
|
||||
|
||||
### Backups
|
||||
|
||||
- Backups
|
||||
- What files / info should I backup to allow recovery from hardware failure?
|
||||
|
||||
### Documentation
|
||||
|
||||
- Sbot commands
|
||||
- Is there a place they're all documented?
|
||||
- GDPR
|
||||
- What do users of my pub need to be informed about to be compliant?
|
Reference in New Issue
Block a user