FleetDAO用户界面实现,基于TypeScript + NextJS + StyledComponents。
- 网站: https://fleetdao.com
- Wiki: https://github.com/fleetdao/interface/wiki
- 产品原型: https://modao.cc/app/d992fb0802b984aab331f46ee074b142e460811d
- Discord: https://discord.com/invite/Jj5b5dwNZb
- Twitter: https://twitter.com/fleetdao
# dependencies
yarn
# dev
yarn dev
# build
yarn build
# start
yarn start
-
数据存储
数据存储使用Notion,参考Notion开发文档。 我们已经创建了Fleetdao-dev的Notion Workspace用来测试,开发者可通过Fleetdao-dev-Invite链接申请测试。 -
DAO
FleetDAO中关于提案、投票、Token等DAO部分的实现方案,将采用第三方的DAO工具进行构建,目前我们初步计采用Aragon来构建。
FleetDAO用户界面部分的源代码组织结构,参照NextJS的相关约定:Nextjs org, Next Docs👉。
我们对项目src
路径下的目录结构,做如下约定:
-
components
通用组件目录,包含Button
,Card
,Column
,Header
,Footer
,Loader
,Input
,Modal
,Row
,Toggle
等页面通用组件,后续开发过程中按需增加。 -
constants
定义常量的文件放在constants
目录。 -
layouts
页面布局目录,目前包含Base
,Home
,Page
三种页面布局,后续开发中按需增加。 -
lib
用于封装一些通用的函数和中间件。 -
pages
Page Views目录,每个页面都根据其文件名与一个路由相关联,关于pages部分的路由规则,请参考Next Pages的相关文档。 -
state
React redux状态管理,每个模块一个目录,包含actions.ts
,reducer.ts
,updaters
,hooks.ts
四个文件。 -
theme
styled-components变量定义在theme目录下的index.tsx
文件中,通过styled.ts
文件进行类型约束。 -
utils
通用函数放在utils目录下。
开发人员可使用任何自己熟悉的开发工具,但VSCode还是大部分开发者的首选。
- 允许任何人提出Issue和FIP(FleetDAO Improvement Proposal)提案。
- 所有的开发必须建立在由多位开发者确定的Issue和投票通过的FIP基础上。
- 允许任何人进行开发和提交代码。
- 代码必须符合基本的开发规范,并以最小改动为原则。
- 提交的代码必须经过审核和测试后才能进行合并。