This is first and foremost, a proof of concept / art project. It's meant to be an extremely crufty catch-all for things that may not make sense to put into say, Monero GUI. Does a carousel of dancing Monerochans belong in the GUI? Probably not, but it does belong in the Monero Dashboard as a widget, with a link to the Monero Art Fund.
This dashboard is geared toward (in priority order) users who:
- want to push the boundaries
- want to have fun
- are newbs who may not have experience / enjoyment /capability in running apps from the CLI
For the time being this app is not geared toward those:
- with high security/opsec requirements
- who may not have a lot of system resources
- who are passionate about performance (this app might run like dogshit for the forseeable future)
git clone git@github.com:CryptoGrampy/monero-dashboard.git
cd monero-dashboard
npm i
npm run start
To run a build on your platform / generate an executable:
npm run electron:build
- Add user config input to monerod w/default 'safe' config (specify file?)
- Wrap widgets in 'cards'/Wrapper class providing widget styles/standardized widget function calls
- Remove boilerplate cruft
- Refactor/Rebuild Data Store
- Can Monerod Updater work from app using hardcoded paths?
- Clean up back end code / Electron main.ts... very messy
- Add Typescript/ESlint/Prettier rules and clean up disabled rules
- Improve back end Monerod state manager
- Configure Github releases
- Tests?
- Monerod Custom Configs
- Codebase is extremely messy and needs a lot of refactoring- especially for state-store and electron ipc handlers. It's currently cobbled together with duct tape. Also needs linting
- Replace widget select with a horizontal scrollbar with widget icons/add buttons on each one, or ideally drag and drop onto dashboard
- Include monerod/xmrig/p2pool binaries?
- P2Pool mining capability
- Monero Node
- Controller (starts/stops monerod, sets config, monerod location, updates monerod, sets autostart?)
- On/Off Timer
- Gaming Mode (lowers peers)
- Display Stats
- Create Tor Hidden Service/Display Onion URL as text/QR code
- Mining
- Mining controls similar to Feather Wallet
- P2Pool Share Status: https://p2pool.observer/api
- Social
- Current CCS list
- Monero.Observer rss
- Monero Bounties
- Chat?
- XMR.radio player
- Donation
- Data Charts
- Widgets
- different types- stateful vs non-stateful widget
- should have a static representation that includes title/image or icon/tags that can be used for cataloguing purposes and in select menu
- should implement onAddToDashboard, onRemoveFromDashboard, widget-name, display name, minimum height/width reqs, usesExternalApiCall (display as icon)
- should not talk to each other/depend on one another
- should consider when to pull their own data vs adding a new shared subscribable data service
- should not push conflicting state changes (i.e. a pushes a config different from the monero node widget)
- could be categorized via a sidebar router