# DAO Dashboard :::warning :calendar: Submission Deadline is February 21, 2023! ::: ## Table of Contents [TOC] **Please** fix this table of contents to be somewhat understandable.. ## Main Reference Table | FrontEnd | Overview | BackEnd | | :--- | :---: | ---: | | Auth/SSX [^1]|Live Demo [^2] | SputnikV2 [^1]| | Chakra UI[^4]| Changes | | :::info :book: Reference on how to use this note[^main]. ::: ## Screenshot of Application Image of **v0.0.1**: ![alt text](https://media.discordapp.net/attachments/1047007258237743165/1072917932386029628/image.png?width=1385&height=587 "DAO Dashboard") ## Application's Purpose & Functional Specs. :100: a dao creation management dashboard much like AstroDAO[^5], but with less dependencies *hopefully*.. This concept was architected, engineered, and developed internally by these people: - @modelomaker812 - @psyferpunk - @TheDudeHasArrived - @alampour - @nikolay - @spaceranch - @etc; **with the assistance/additional suggestions of** OpenAI's [ChatGPT](https://chat.openai.com/chat) & Github's [Co-Pilot](https://github.com/features/copilot)! We are currently in the process of implementing functionality; this is still very much a Work in progress so beware of dragons; & thank you for beta testing & commenting! # Application Architecture Overview :::info :smile: **Feel free to modify!** ::: Overview of application architecture specified in overview document. Overview of project -- https://hackmd.io/@modelomaker812/BksYOKOho/edit Github Project Page -- https://github.com/orgs/MoonBaseDAO/projects/10 Well, our app is split into two working components; so here is the status of each, #### frontend-app: ![GitHub last commit](https://img.shields.io/github/last-commit/MoonBaseDAO/frontend-app?style=social) #### backend-app: ![GitHub last commit](https://img.shields.io/github/last-commit/MoonBaseDAO/backend-app?style=social) Come view status of tasks [here](https://github.com/orgs/MoonBaseDAO/projects/10) ![Project Board](https://i.imgur.com/ObtU4xq.png) :::danger **This is a Work in Progress** ::: In this case, we started with ### :notebook: create-near-app[^1] then we modified that boilerplate even further by integrating ### :computer: [NextJS 13](https://beta.nextjs.org/docs) then we needed some {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 backend application by reformatting it to work in our NextJS App and introducing it as a layer to our stack via building an API to work between our backend & frontend app's.. we then wanted to add a beautiful visual upgrade so we've also included.. ### :sparkle: [Chakra UI](https://chakra-ui.com/) *+* [Framer Motion](https://www.framer.com/motion/) <img src="https://i.imgur.com/JerNAK3.png" style="width:35px"> [^6] into the frontend-app & there you have it. **Here is a preview of the frontend app's current state:** ![alt text](https://media.discordapp.net/attachments/1047007258237743165/1072917932386029628/image.png?width=1385&height=587 "DAO Dashboard") ## Backend App Resources backend architecture documented here: - https://hackmd.io/@modelomaker812/rk_nc-mpj/edit - https://github.com/orgs/MoonBaseDAO/teams/backend-team/discussions/1 backend source code located here: - https://github.com/MoonBaseDAO/backend-app ## Frontend App Resources frontend architecture documented here: - https://hackmd.io/@modelomaker812/S1n7ZGX6s/edit - https://github.com/orgs/MoonBaseDAO/teams/frontend-team/discussions/1 frontend source code located here: - https://github.com/MoonBaseDAO/frontend-app MoonBaseDAO Github Discussions[^3]. MoonBaseDAO Github Project Page[^4]. Sputnikv2 UI Example[^5]. [^1]: http://moonbase.info.gf:1234/#/ [^2]: http://moonbase.info.gf:3000/ [^3]: https://github.com/orgs/MoonBaseDAO/discussions [^4]: https://github.com/orgs/MoonBaseDAO/projects/7/views/1 [^5]: https://github.com/modelomaker812/sputnik-dao-2-ui-reference [^7]: https://www.npmjs.com/package/create-near-app [^6]: https://chakra-ui.com/getting-started/with-framer [^main]: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls If your on the team and wish to participate in the testnet dao during application development cycles; please list your near wallet address and/or account id below: | Discord Username | Testnet Address | Mainnet Address | | :--- | :---: | ---: | | modelomaker812 | modelomaker812.testnet | 1337hacker.near | | Alex/ alampour | alampour.testnet | | | Nikolay / Beauty Slayer | | | | SpaceRanch | | ![](https://i.imgur.com/Qgw6Y1j.png) | | psyferpunk | ![](https://i.imgur.com/uZ0Xxyl.png) | psyferpunk.near | | | | - [ ] Alampour - Alex - [ ] Beauty Slayer - Nikolay - [x] modelomaker812 - Roy - [x] psyferpunk - Christian - [ ] Sena - Sena - [ ] Shinoa Fores - Anonymous - [ ] SpaceRanch - Jon - [ ] Dane - Dane - [ ] Gremblo - Ben :date: - Time Frame Assigned For Task :paperclip: Priority Level (1 - 5) :::success ### C A L P A R :::info :100: Check this list off every day! It is key to our success!! - [x] -**Compile** - we need to compile all of the material we have so far! even unfinished! - [x] -**Assess** - we will look over and assess what we have so we all know what is done - [x] -**List** - we will then create a list of tasks that each of us can do with our skills - [ ] -**Prioritize** - we will then agree together which of those tasks is most important and should be completed first! - [ ] -**Assign** - based on everyone's skills, we will then assign the highest priority tasks to them - [ ] -**Review** - at the end of EVERY day we will report in our designated channels what has been done! ::: Dashboard Application Source Code: --- **Frontend-App:** <a href="https://github.com/MoonBaseDAO/frontend-app.git"> <img src="https://icon-library.com/images/git-icon/git-icon-19.jpg" width="50" height="50"> </a> #### frontend-app: ![GitHub last commit](https://img.shields.io/github/last-commit/MoonBaseDAO/frontend-app?style=social) --- **Backend-App:** <a href="https://github.com/MoonBaseDAO/frontend-app.git"> <img src="https://icon-library.com/images/git-icon/git-icon-19.jpg" width="50" height="50"> </a> #### backend-app: ![GitHub last commit](https://img.shields.io/github/last-commit/MoonBaseDAO/backend-app?style=social) --- Architecture Overview Diagram --- :::info Replace with whiteboard/team designed diagram ![](https://www.researchgate.net/publication/338064306/figure/fig2/AS:838024002826240@1576811900545/A-typical-architecture-of-an-Ethereum-dApp-application-The-App-System-is-shown-on-the.ppm) ::: :closed_book: Tasks & Task Assignment Policy -- **task** *{described & issued} **/** {assigned to team}* w/ **(priority), (timeframe), (assigned_team)** 1. task id/description 2. task timeframe/estimated hours 3. task priority/importance 4. task submission/de-briefing **Step 1:** :date: - Time Frame Assigned For Task - [ ] Time Frame Assigned For Task By Council **Step 2:** :paperclip: Task Priority Level Assigned (1 - 5) ![](https://i.imgur.com/sWbHdsm.png) ==Importance/Priority== (1 - 5) / Name & Task Description / **Estimated Hours** (1, 2, 3, 5, 8, 13) - [ ] Priority / Importance / Defcon Level ==1== thru ==5== Assigned.. 1 - 5 (1 lowest/least concern, 5 highest priority) ### Backend Team: Backend-App Spec Sheet: https://hackmd.io/9iRotAR8STeAaZEqqjpHrg --- **Example Task Table:** - [x] ==5== setup boilerplate/barebones application - [x] ==4== add dependencies for functionality (keep minimal) **5** - [ ] ==5== implement required functionality **3** - [ ] ==4== Setup e2e test in production **2** - [x] ==4== task 1 **8** - [x] ==5== create a react front-end that matches the design **5** - [ ] ==5== task 3 **5** --- Frontend Team: --- Priority: ==1== - [ ] 1. Develop the necessary forms for creating, reading, updating and deleting customer information within the UI. **Estimated Timeframe: 6 Hours** Priority: ==2== - [ ] 2. Validate user inputs on the forms and display error messages if necessary. **Estimated Timeframe: 1-3 Hours** Priority: ==3== - [ ] 3. Make API calls to the backend to perform CRUD operations on customer data. **Estimated Timeframe: 1-3 Hours** Sub-Tasks --- - [ ] 1. Design the forms for creating, reading, updating, and deleting customer information. - [ ] 2. Implement input validation for the forms, ensuring that required fields are filled in and that data is entered in the correct format. - [ ] 3. Make use of whatever code necessary to interact with the APIs and to handle the CRUD operations. - [ ] 4. Use APIs to send requests to the backend to perform CRUD operations on customer data. - [ ] 5. Display results from the backend in the UI, including success and error messages. - [ ] 6. Test the forms and APIs to ensure that they are working properly and that the user experience is seamless. - [ ] 7. Continuously monitor and improve the CRUD features based on user feedback. ## Notes <!-- Other important details discussed during the meeting can be entered here. --> http://moonbase.info.gf:1337/ - leon (ai voice assistant) http://moonbase.info.gf:3000/ - dao dashboard (dashboard app demo) - 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 --- #### Useful Links *[moonbase-testnet-dao.sputnikv2.testnet](http://moonbase.info.gf:1234/moonbase-testnet-dao.sputnikv2.testnet?transactionHashes=HLS5ZUEoaxBGUMfpm5GhrtGHrynYgsCKKRidEXjuuLr1#/moonbase-testnet-dao.sputnikv2.testnet) -- If your a team member and want to vote on a proposal in the DAO, you can use this link. *