轻松搭建你的黑客马拉松挑战板Dribdat
今天是大年初一,祝大家新年快乐,蛇年吉祥,阖家幸福安康!新的一年所行皆坦途,所遇皆美好!🧧🧧🧧
简介
什么是 Dribdat ?
Dribdat
是一个开源的网络应用程序,旨在支持技术项目合作,特别是在帮助组织和管理短期冲刺、共创会议、黑客日和精彩的黑客马拉松(hackathon
)等活动。
主要特点:
- 挑战板:提供一个互动的挑战和创意板,帮助组织短期项目和协作会议。
- 集成功能:支持文件上传、数据导入/导出、团队组建等功能,能够与各种开发工具和社交媒体集成。
- 灵活性:可以作为一个
Python
后端,聚合来自GitHub
、GitLab
等平台的数据,并提供多种用户界面选项(如Vue.js
和Node.js
聊天机器人)。 - 安全与开放性:内置行为规范,支持开放许可证和社区开发模板,确保活动的透明性和包容性。
Dribdat
旨在成为一个可定制的工具,适应不同的需求和活动,是瑞士开放数据和开源社区的重要平台。用户可以快速部署并在社区活动中使用,促进协作和创新。
什么是 Honeycomb ?
Honeycomb
挑战板是Dribdat
平台上的一个核心功能,设计用于支持和促进黑客马拉松(hackathon
)等活动中的团队合作和项目管理。通过其可视化和互动功能,帮助组织和参与者更有效地管理和完成项目,提升活动的整体体验和效率。
安装
在群晖上以 Docker 方式安装。
本文写作时,
dribdat/dribdat:latest
版本对应为v0.8.5
;
采用 docker-compose
安装方式。官方提供了 docker-compose.yml
,但运行时默认绑定的是 IPv6
地址,在不支持 IPv6
的机器上会报错
1 | dribdat-web | [2024-12-02 02:29:52 +0000] [1] [INFO] Starting gunicorn 23.0.0 |
老苏做了一些调整,请将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
CMD
通过新增更新 CMD
指令来解决只能监听 IPv6
的问题:
- 用
command
指定了Gunicorn
的启动命令和参数。这将覆盖Dockerfile
中的CMD
指令; - 通过
--bind", "0.0.0.0:5000
指定Gunicorn
监听所有可用的IPv4
网络接口; - 如果你希望同时监听,可以改为
--bind "0.0.0.0:5000" --bind "::":5000
环境变量
dribdat-db
的环境变量
可变 | 值 |
---|---|
POSTGRES_DB |
PostgreSQL 数据库的名称 |
POSTGRES_USER |
连接数据库的用户名 |
POSTGRES_PASSWORD |
连接数据库的用户密码 |
dribdat-web
的环境变量
可变 | 值 |
---|---|
SERVER_URL |
指定 Dribdat 应用的访问 URL |
DATABASE_URL |
数据库的连接字符串,根据 PostgreSQL 数据库的参数拼接而成 |
DRIBDAT_ENV |
指定运行环境,用于区分开发环境和生产环境 |
DRIBDAT_SECRET |
应用的密钥,建议修改 |
DRIBDAT_APIKEY |
API 密钥,用于身份验证,建议修改 |
TIME_ZONE |
时区设置,国内用户建议用 Asia/Shanghai |
一键启动
然后执行下面的命令
1 | # 新建文件夹 dribdat 和 子目录 |
运行
在浏览器中输入 http://群晖IP:5323
就能看到主界面
点 Login
–> Create an account
创建一个自己的账号
第一个账号是有管理员权限的
接下来就可以愉快的使用了。大致的使用流程如下:
创建活动:
- 发布活动:管理员可以创建新的活动,设定时间、地点和主题,并邀请参与者。
- 定义挑战:在活动中,组织者可以发布各种挑战,供参与者选择和参与。
团队组建:
- 组队功能:参与者可以选择感兴趣的挑战并组成团队,
Dribdat
提供了团队管理功能,方便团队协作。
- 组队功能:参与者可以选择感兴趣的挑战并组成团队,
项目跟踪:
- 实时追踪:活动期间,
Dribdat
提供计时器、进度跟踪和日志记录功能,帮助团队实时了解项目进展。 - 数据整合:支持从各类代码仓库和数据源获取信息,确保团队能够集中管理项目材料和进展。
- 实时追踪:活动期间,
成果展示与反馈:
- 结果分享:活动结束后,团队可以通过
Dribdat
分享他们的项目成果,提供展示平台。 - 社区反馈:组织者和参与者可以在平台上讨论和反馈,促进未来活动的改进和优化。
- 结果分享:活动结束后,团队可以通过
Dribdat
主要解决:
- 提高协作效率:通过集中管理项目和任务,
Dribdat
减少了信息孤岛,有助于团队成员之间的沟通和协作。 - 促进开放与透明:
Dribdat
支持开放许可证和社区规范,确保活动的透明性和参与者的公平性。 - 灵活适应不同需求:其可定制性使得
Dribdat
可以适应各种类型的活动,无论是小型聚会还是大型黑客马拉松。 - 数据驱动的决策:集成的数据追踪和分析功能支持组织者根据实时数据做出决策,从而优化活动流程。
参考文档
dribdat/dribdat: Honeycomb challenge board for awesomely open hackathons 🐝
地址:https://github.com/dribdat/dribdatPurpose | dribdat.cc
地址:https://dribdat.cc/Hello, World / Project Board
地址:https://demo.dribdat.cc/event/1