owned this note
owned this note
Published
Linked with GitHub
# [MoonBase Dashboard] Product specs
:::info
:bulb: This document is a milestone specs template that helps designers and PMs provide specs to the develop/engineering team.
:::
## :beginner: Product Info
- Product Name: MoonBase Dashboard

Features:
### DAO Dashboard
- Create A DAO
- Multi Signature treasury
- On Chain Data
- Purpose & Principles
- Reference Links
- Legal
- Council/SubDAO
- Designate members to special groups
- Proposals
- Create Proposals
- Vote on Proposals
- Bounties
- Create Bounties
- Award Funds to Completed Bounties
- Onboarding
- Generate a custom DAO dashboard page based on DAO inputs to onboard new participants
- Search DAOs
- Page to categorize and search DAOs
- Bridge
- Cross-chain bridge to move funds from one ecosystem into your DAO [Symbiosis API](https://docs.symbiosis.finance/developer-tools/symbiosis-developer-tools)
- Token swap
- Use plugin [1Inch API](https://1inch.io/api/) to enable EVM token swap on platform
### Future Features
Subject to change
- P2P messaging, video, fileshare integration
- https://docs.holepunch.to/
- Mobile app build
- Biometric voting
- Calendar and scheduling integrations
- Google, Zoho, etc.
- Payroll feature integration
## :triangular_flag_on_post: Languages
:::info
List any programming languages being utilized by this application.
:::
:::spoiler
- HTML/CSS/Javascript/React - For the Main Applications Front-End
- NodeJS/NPM -- For The Main Applications Backend
- Rust - For the NEAR Contracts
- Golang - For Firehose
- Typescript- For various libraries
- Markdown - For Docs, FAQ, ETC.
- Yarn
- Firehose
:::
:8ball:
## How did we build this?
We started with
### :notebook: create-near-app[^1]
then we needed {DAO creation/management capabilities} so we implemented that functionality from the
### :satellite: sputnik-dao-2-ui-reference[^2]
To make it our own we re-wrote the functionality of the sputnik ui reference implementation into our application by reformatting it into
### :computer: next.js 13
### :sparkle: chakra ui *+*
[^1]:
[^2]:
## 📈 Frameworks
:::success
Collect ideas that may solve the problems here.
:::
:::spoiler
- Next.js
- Yarn
- Firehose
-
:::
## Blockchain Technology Stacks Being Utilized & What For / How
- NEAR Testnet - Near User Onboarding & Authentication is the current process being utilized on astro dashboard clone;
- Optimism Goerli Testnet - for NFT & DAO/EVM compatibility across networks / blockchains / alternative evm's, etc;
- Gnosis Safe - For Multi-sig and [dao-login aka ssx](https://docs.ssx.id/) capabilities *
*:fire:dao-login feature - Allow users to sign-in on behalf of a multisig wallet (Gnosis Safe) for DAO membership login and authentication of user capabilities within dao..
* :dart: Reference Docs To Configure/Integrate:
https://docs.ssx.id/configuring-ssx#enabling-dao-login
:date: - Time Frame Assigned For Task
:paperclip: Priority Level (1 - 5)
## Application Technology Stack
- [Firehose](https://firehose.streamingfast.io/introduction/prerequisites)
- [Substreams](https://substreams.streamingfast.io/reference-and-specs/advanced/running-locally)
- [safe-core-sdk](https://docs.gnosis-safe.io/learn/safe-tools/sdks/core-sdk)
List the specs for this product.
:::
| **Front End** | **Backend** | **Databases** | **Infrastructure** |
|:--------: |:---------: |:-------: |:-------:|
|React |Rust |NEAR Bockchain|Amazon Web Services
|Next.js |Golang |Gnosis |Github
|Typescript |Python |MySQL |Vercel
|Storybook.js|Node | Web3Auth |Validator Node
| |PHP | thirdweb |
| |Substreams | |
| |Firehose | | |
| | | | |
## :exclamation: Risks
:::success
List risks and possible hedges.
:::
1.
2.
## :feet: Implementation
:::success
Describe how you implement this product, including flow, specs, and design.
:::
### :small_blue_diamond: Design
:::warning
Provide the design for this product. You can embed Figma files with this syntax `{%figma figmaurl %}`, or just paste the embed code here.
:::
## 💬 Open Questions
:::success
Discuss other things that are not on the above. For example, any blind spot on our product specs?
:::
1.
2.
### :small_blue_diamond: Our FAQ/checklist
| Question | Answer |
| ----------------------------------------------- |:------:|
| 1. What is the result you want? |A functioning application that meets our functional requirements |
| 2. Why is this result important? |for future funding support and reputation building in area of expertise |
| 3. How will you evaluate progress? |we will measure progress on these key metrics -- list goes here [metric list](url)|
| 4. How can you influence the result? | we can make progress or stall progress by our efforts and collaboration efforts |
| 5. Who is responsible for the results? |we all are |
| 6. How do you know you have achieved your goal? |when we have received the next round of funding to meet the next list of milestone goals|
| 7. How often will you review? |Daily/Weekly |
- Status:
- [ ] In progress
- [ ] In review.
Reviewer -
- [ ] Finished
Milestone Action Items:
Task Form & Required Details - <br>
Assigned Team; :hand: <br>
Task Priority; :paperclip: <br>
Task Timeframe; :calendar: <br>
### :small_blue_diamond: Task Assignment Flow
:::warning
Create a flow chart to show the process of assigning a task to a dept issues from council for project.
:::
``` mermaid
graph TD;
StartTaskIssuance-->TaskOutlined;
TaskOutlined-->PriorityAssigned;
PriorityAssigned-->End;
PriorityAssigned-->TimeFrameIssued;
TimeFrameIssued-->End;
```
## Update for periodic meetings
:::info
:bulb: This template is used for monthly investor updates to your investors and key stakeholders.
:::
### :triangular_flag_on_post: Summary
:::success
Describe the updating things in a brief sentence.
:::
#### Key metrics and Events
:::success
Update all the key metrics, highlights, and challenges.
:::
## :pencil2: Key metrics
1.
2.
## 👍 Highlights and Accomplishments
1.
2.
## 👎 Lows and Challenges
1.
2.
## :dart: Expectation
:::success
List the expected thing for the agent(you) and the investors. For the agent, list the goals. For investors, list the requests.
:::
### :small_blue_diamond: For Agent/Reviewers
1.
2.
### :small_blue_diamond:For Investors
1.
2.
```
"name": "dao-dashboard",
"private": false,
"version": "2.0.0",
"license": "UNLICENSED",
"scripts": {
"build": "npm run build:web",
"build:no-contract": "npm run build:web",
"build:web": "parcel build src/index.html --public-url ./",
"deploy:pages": "gh-pages -d dist/",
"deploy:no-contract": "npm run build:no-contract && npm run deploy:pages",
"deploy": "npm run build && npm run deploy:pages",
"prestart": "npm run build",
"start": "parcel src/index.html --open",
"start:web": "parcel src/index.html --open",
"dev": "parcel src/index.html --open",
"test": "jest test --runInBand",
"lint": "eslint .",
"lint:fix": "eslint --fix --ext .js,.jsx .",
"format": "prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc",
"dev-dapp": "next dev",
"build-dapp": "next build",
"build-near-contract": "asb --target debug",
"deploy-near-contract": "yarn build-contract && near dev-deploy ./build/debug/contract.wasm",
"clean-near-contract" : "rm -rf ./build && rm -rf ./neardev",
"run-near-contract" : "./contract/scripts/run.sh",
"start-dapp": "next start",
"lint-dapp": "next lint"
},
```