Skip to content

Commit fd2338a

Browse files
committed
Revision
1 parent 9eac94c commit fd2338a

7 files changed

Lines changed: 87 additions & 79 deletions

File tree

β€Ždocs/about.mdβ€Ž

Lines changed: 32 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,38 @@
1-
History
2-
3-
---
4-
5-
This document summarises the current status and makes some vision statements about possible future developments. For more background and references, see the [User handbook](usage) and [Whitepaper](whitepaper).
6-
7-
# define:dribdat
8-
9-
> **dribs** _n. pl.: in small amounts, a few at a time_
10-
11-
An open source project board designed for splendid collaboration, **Dribdat** is used to collect and showcase all projects from an event in one place. Originally designed for use at hackathons - more than just a trendy way to get recruited into an IT job, these are a venue for open collaboration, civic engagement, and technical experimentation in a social setting. We've packed in a lot of experience running and optimizing the participant experience into this platform.
12-
13-
<img src="images/whitepaper/stages2.jpg"><img src="images/screenshot_backboard2.jpg">
14-
15-
_Screenshots of the [Stages screen](whitepaper/#6-being-excellent-to-each-other) and [Backboard](https://github.com/dribdat/backboard)_
16-
17-
The name _dribdat_ is an amalgam of "Driven By Data" - with a tip of the hat to [Dribbble](https://dribbble.com/), a famous online community for graphic design which was one of the inspirations at the start of the project. We have organised a lot of hackathons over the years, and started this platform to streamline our own efforts. It is designed with the goal of helping teams - and their facilitators - sustain efforts over time, streamline information channels, and let everyone focus on driving their ideas forward.
18-
19-
On the front page you can see the upcoming event, as well as any previous events. A short description is followed by a link to the event home page, as well as a countdown of time remaining until the start or finish (if already started) of the event. All the Projects and Challenges are shown on the event home page. Here you can learn about topics, schedules, get directions and any other vital information that the organizers of the event have provided. Once the event has started, and you have formed a team, you can login and "Share project".
20-
21-
## How does it work?
22-
23-
Once a team has formed around a Challenge, any of the team members can Post an update, and promote it to Project status. At that point you can see a log of the progress the team is making (encourage them to Post regularly to help track activities), and the latest version of their pitch and documentation. As we will discuss in more detail below, this documentation can come from almost any open Internet source and be embedded on the project page.
24-
25-
Users can use [Markdown](https://en.wikipedia.org/wiki/Markdown) formatting to document their project and customise its display. Projects which are published in a compatible source repository - such as GitHub or supported wikis - can be [auto-synced in dribdat](sync), so that the documentation work can take place in the README's favored by the open source community. You can also update your progress level, in addition to an automatic metric for profile completeness and activity levels, to give each project a progress score. Your team members can subscribe to the project once you have started it, link their public profile in the team roster, and make changes to the data.
26-
27-
![The dribdat stages](images/pipeline.png)
28-
29-
Out of the box, your projects advance through a series of stages inspired by the [School of Data Pipeline](http://toolbox.schoolofdata.ch/overview.html), which you can also configure to follow a different methodology. At the end of the event, the teams, audience and organizers should have an excellent overview of the work that was done during the event, see the progress of the documentation at a glance, and export data for analysis using the administrative console. The [Whitepaper](whitepaper/) has additional background.
30-
31-
For more user-facing guidance, see the [User's Guide](usage) and installation instructions in the [README](https://github.com/dribdat/dribdat#dribdat).
32-
33-
## Data schema
34-
35-
One starts an **Event**, to which Challenges (= Ideas) are added. These can take the form of **Projects** (at progress level 0), or **Categories**. A team is made of up of any number of **Users** who have certain organizer-defined **Roles** and have joined a **Project**.
36-
37-
The main models are represented here:
38-
39-
[![](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBFdmVudCAtLS0gUHJvamVjdFxuICAgIFByb2plY3QgLS0tIFVzZXJcbiAgICBQcm9qZWN0IC0tLSBDYXRlZ29yeVxuICAgIFByb2plY3QgLS0tIFByb2dyZXNzXG4gICAgQWN0aXZpdGllcyAtLS0gVXNlciAmIFByb2plY3QgJiBSZXNvdXJjZVxuICAgIFVzZXIgLS0tIFJvbGUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBFdmVudCAtLS0gUHJvamVjdFxuICAgIFByb2plY3QgLS0tIFVzZXJcbiAgICBQcm9qZWN0IC0tLSBDYXRlZ29yeVxuICAgIFByb2plY3QgLS0tIFByb2dyZXNzXG4gICAgQWN0aXZpdGllcyAtLS0gVXNlciAmIFByb2plY3QgJiBSZXNvdXJjZVxuICAgIFVzZXIgLS0tIFJvbGUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)
40-
41-
What are the differences between a Project and a Challenge?
42-
43-
- A **Challenge** is a problem statement, often with some elaboration of some ideas of how to address it - at a hackathon, this typically involves links to technical tools, datasets, or information resources. In dribdat, these are published in the form of Projects (set to an initial idea/challenge stage) and/or **Categories**.
44-
- A **Project** contains evidence of work that has been done - typically but not always in response to a specific Challenge, as often as possible with links to documentation, source code, presentation, or any other relevant artifacts.
45-
46-
## Screenshots
47-
48-
[![Open Food Hackdays](https://blog.datalets.ch/workshops/2017/dribdat/foodhackdays-openreceipts.jpg)](https://hack.opendata.ch/project/74)
49-
50-
[![Climathon ZΓΌrich](https://blog.datalets.ch/workshops/2017/dribdat/climathon.jpg)](https://hack.opendata.ch/event/4)
51-
52-
![](https://blog.datalets.ch/workshops/2017/dribdat/IMG_6910_800.JPG)
53-
54-
*Photo credit: MakeZurich 2018 by Christina Rieder CC BY-SA 4.0*
55-
56-
## History
1+
# History
572

583
We have built this project to "scratch our own itch". In it's first two years of service, it has supported dozens of events around Switzerland, and become the official hackathon platform of [Opendata.ch](https://opendata.ch) - Swiss chapter of Open Knowledge, the [Open Network Infrastructure Association](https://opennetworkinfrastructure.org/), and others. We have interesting ideas about how to develop the project further, and a supportive community giving us the feedback and means to realize them.
594

60-
Easiest of all is to sign up for an upcoming [hackathon](http://hack.opendata.ch/), and try dribdat out as a participant. You can also visit the project's home page for instructions on how to quickly deploy it on your own server and set up your own events.
61-
62-
dribdat is a responsive Web application written using the Flask framework for Python and Bootstrap.
63-
Using dribdat's API, it is also possible to create a live dashboard, for example for use as Digital Signage at the event, or to connect apps like [backboard](https://github.com/dribdat/backboard).
64-
65-
It runs on all major operating systems and databases. [Take it for a spin!](https://dribdat.cc)
66-
67-
## F.A.Q.
68-
69-
The following questions were originally compiled as part of the projects [DINAcon nomination](https://dinacon.ch/en/dinacon-awards/nominations/):
5+
## Timeline
6+
7+
A look back from the roots of the Dribdat initiative:
8+
9+
| Year | Milestone |
10+
| ---- | --------- |
11+
| 2011 | We started running [Open Data Hackdays](https://blog.datalets.ch/open-finance-data-hackdays-in-march-2013/) in Switzerland, after a history of running [hackerspaces](https://wiki.oxhack.org) and participating in such events in Canada, UK & USA. |
12+
| 2012 | Customized a DokuWiki at [make.opendata.ch](https://make.opendata.ch/wiki) to combine datasets, event listings and project reports from the community. |
13+
| 2015 | Worked with Swisscom on the first [IoT Hackathon](https://blog.datalets.ch/an-internet-of-open-things-to-tell-stories/), receiving a grant & access to their Pirate Hub to develop Dribdat alpha. |
14+
| 2017 | Started running Swiss hackathons dedicated to Open Networking and DIY electronics, with [now.makezurich.ch](https://now.makezurich.ch/) used to share knowledge and results. |
15+
| 2016 | Created [Dridbot](https://github.com/dribdat/dridbot) together with the [Climathon](https://blog.datalets.ch/023/) team - a chat interface for healthier and more streamlined events. |
16+
| 2017 | Reworked the Dribdat code base for a 1.0 release, with a boost from the [Open Energy Data Hackday](https://hack.energy.opendata.ch/) series and nomination for a [DINAcon](https://www.netzwoche.ch/news/2017-09-21/nominierte-fuer-die-dinacon-awards-stehen-fest) Award. |
17+
| 2018 | Cooperation with the Statistics Office in ZΓΌrich and a significant number of people on the [TWIST Hackathon](https://forum.opendata.ch/t/25-26-8-truth-within-statistics/373/4). |
18+
| 2019 | Worked with HES-SO students to further develop the technical architecture and implement better UX in Dribdat (see [user guide](https://github.com/dribdat/design/blob/main/User%20guide.pdf), [technical guide](https://github.com/dribdat/design/blob/main/Technical%20guide%20final.pdf), and [presentation](https://web.tresorit.com/l/kiX8f#oo64odAnXTP_3DwwnDyh6Q)). |
19+
| 2019 | Dribdat is used more widely, by groups like [BONSAI](https://github.com/BONSAMURAIS), [DayOne](https://www.dayone.swiss/community/dayone-events/health-hack/), [IPDET](https://ipdet.org/past-programs/ipdet-2020/ipdet-2020-evaluation-hackathon/teams-and-tools/the-evalhack-team/) and [OKFN](https://frictionlessdata.io/blog/2021/10/13/hackathon-wrap/). |
20+
| 2020 | Collaboration with ResonantFrequency on a Twine-based [interactive handbook](https://dribdat.github.io/handbook/) for hackathon participants. |
21+
| 2020 | Wrote the [certify tool](https://github.com/dribdat/certify?tab=readme-ov-file#certify) to distribute acknowledgments. Started working on the [Proxeus platform](https://hackathons.proxeus.org) for verified credentials. |
22+
| 2020 | Our [proposal](https://github.com/dribdat/dribdat/issues/112) for `hackathon.json`, a mechanism to discover hackathon content online, is accepted by Schema.org. We quickly adopt it. |
23+
| 2020 | Based on Dribdat designs, the [VersusVirus](https://docs.google.com/document/d/11N__S_QdUKOjGYH7i37-EfHLn0V6akfkrF06ze_mQk0/edit#heading=h.mvn5bhspv3i8) team rapidly developed and deployed a new large-scale [teambuilding application](https://github.com/dribdat/VersusVirus-App). |
24+
| 2021 | Continued work on a new UI based on modern tooling in the form of [project backboard](https://github.com/dribdat/backboard?tab=readme-ov-file#backboard-for-dribdat).
25+
| 2021 | Hired Koboldgames to develop a paper prototype study of a new [gamified user experience](https://koboldgames.ch/blog/2021-01-13?lang=eng). |
26+
| 2021 | Started a [public archive](https://github.com/OpendataCH/hackopendata-archive/commits/main/) of aggregated hackathon events and project data. |
27+
| 2022 | Published [awesome-hackathon](https://project-awesome.org/dribdat/awesome-hackathon) based on updated research and curation of resources for organizers. |
28+
| 2023 | Tested a blockchain-verified [certification workflow](https://hackorgx.dribdat.cc/project/2) based on the Proxeus tool. |
29+
| 2023 | Started the [Hack:Org:X](https://hackorgx.dribdat.cc) meetups, supported an international [hackathon](https://www.upu.int/en/Universal-Postal-Union/Activities/Digital-Services/Postal-Data-Hackathon) and [conferences](https://blog.datalets.ch/094/) of hackathon organizers. |
30+
| 2024 | Continued development of Dribdat in partnership with NGO's and public research institutions, launch of EveryHack.day. |
31+
32+
## Overview
33+
34+
The following questions were originally compiled as part of the projects [DINAcon nomination](https://dinacon.ch/en/dinacon-awards/nominations/).
35+
You can contribute to additional social review of the project at [AlternativeTo](https://alternativeto.net/software/dribdat/).
7036

7137
### _How mature is the project?_
7238

β€Ždocs/contribute.mdβ€Ž

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,19 @@ You should at this point see a welcome screen at http://127.0.0.1:5000 πŸŽ‰
6363

6464
Follow the instructions to register your first user account, which will have admin access, and let you set up events.
6565

66+
## Data schema
67+
68+
One starts an **Event**, to which Challenges (= Ideas) are added. These can take the form of **Projects** (at progress level 0), or **Categories**. A team is made of up of any number of **Users** who have certain organizer-defined **Roles** and have joined a **Project**.
69+
70+
The main models are represented here:
71+
72+
[![](https://mermaid.ink/img/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBFdmVudCAtLS0gUHJvamVjdFxuICAgIFByb2plY3QgLS0tIFVzZXJcbiAgICBQcm9qZWN0IC0tLSBDYXRlZ29yeVxuICAgIFByb2plY3QgLS0tIFByb2dyZXNzXG4gICAgQWN0aXZpdGllcyAtLS0gVXNlciAmIFByb2plY3QgJiBSZXNvdXJjZVxuICAgIFVzZXIgLS0tIFJvbGUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBFdmVudCAtLS0gUHJvamVjdFxuICAgIFByb2plY3QgLS0tIFVzZXJcbiAgICBQcm9qZWN0IC0tLSBDYXRlZ29yeVxuICAgIFByb2plY3QgLS0tIFByb2dyZXNzXG4gICAgQWN0aXZpdGllcyAtLS0gVXNlciAmIFByb2plY3QgJiBSZXNvdXJjZVxuICAgIFVzZXIgLS0tIFJvbGUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)
73+
74+
What are the differences between a Project and a Challenge?
75+
76+
- A **Challenge** is a problem statement, often with some elaboration of some ideas of how to address it - at a hackathon, this typically involves links to technical tools, datasets, or information resources. In dribdat, these are published in the form of Projects (set to an initial idea/challenge stage) and/or **Categories**.
77+
- A **Project** contains evidence of work that has been done - typically but not always in response to a specific Challenge, as often as possible with links to documentation, source code, presentation, or any other relevant artifacts.
78+
6679
## Coding tips
6780

6881
This section has some advice for developers and operators.

β€Ždocs/deploy.mdβ€Ž

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,16 @@ E-mail activation or moderation (activation in admin area) of non-SSO accounts c
129129

130130
You can find more advice in the [Troubleshooting](trouble#need-help-setting-up-sso) guide.
131131

132+
## Spam shield
133+
134+
To try to reduce spam issues on your Dribdat instance, we encourage you to use an OAuth provider (as above) with competency in this area. Basic form validation using [Google Recaptcha](https://developers.google.com/recaptcha) and compatible providers like [Friendly Captcha](https://developer.friendlycaptcha.com/docs/v2/guides/migrating-from-recaptcha), is available:
135+
136+
* `RECAPTCHA_PUBLIC_KEY` - A public key.
137+
* `RECAPTCHA_PRIVATE_KEY` - A private key.
138+
* `RECAPTCHA_API_SERVER` - (optional) Specify your Recaptcha API server.
139+
* `RECAPTCHA_PARAMETERS` - (optional) A dict of JavaScript (api.js) parameters.
140+
* `RECAPTCHA_DATA_ATTRS` - (optional) A dict of [data attributes](https://developers.google.com/recaptcha/docs/display#javascript_resource_apijs_parameters).
141+
132142
## File storage
133143

134144
For **uploading images** and other files directly within dribdat, you can configure S3 through Amazon and compatible providers:

β€Ždocs/index.mdβ€Ž

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,17 @@ Driven By Data
1010
<center><font style="font-size: 170%;">
1111

1212
[πŸ€ Demo](https://demo.dribdat.cc/event/1)
13-
[⭐ Star](https://github.com/dribdat/dribdat)
1413
[πŸ“ Download](https://github.com/dribdat/dribdat/releases)
1514
[πŸ‘ Support](https://opencollective.com/dribdat/contribute)
1615

1716
</font><img alt="Screenshot of dribdat" src="images/screenshot_awesome.png" width="100%" vspace="10">
1817

19-
See our [roadmap](https://github.com/orgs/dribdat/projects/8/views/2?pane=issue&itemId=89596986) πŸ”œ sign up for the beta @ [EveryHack.day](https://everyhack.day)
18+
See our [roadmap](https://github.com/orgs/dribdat/projects/8/views/2?pane=issue&itemId=89596986) and sign up for the beta πŸ”œ [EveryHack.day](https://everyhack.day)
2019

2120
</center>
2221

2322

24-
## Purpose
23+
# Purpose
2524

2625
Built around Web-friendly standards like [Schema.org](https://schema.org) and [Frictionless Data](https://frictionlessdata.io), Dribdat is an (MIT licensed) part of an open source ecosystem, featuring bootstraps (authentication, file uploading, data import/export, etc.), useful workflows (announce an event - publish challenges - form teams - develop projects) and channels (social media sharing, digital signage, summary reports).
2726

@@ -35,7 +34,11 @@ You can customize the layout and presets in an admin panel, or with `YAML` confi
3534

3635
There is more on this in the [User Guide](usage) and [Whitepaper](whitepaper).
3736

38-
<center><a href="https://opencollective.com/dribdat/donate" target="_blank"><img src="https://opencollective.com/dribdat/donate/button@2x.png?color=blue" width=300 /></a></center>
37+
<center><a href="https://opencollective.com/dribdat/donate" target="_blank"><img src="https://opencollective.com/dribdat/donate/button@2x.png?color=blue" width=300 /></a>
38+
<font style="font-size: 140%">
39+
<br><a href="https://alternativeto.net/software/dribdat/" target="_blank">β™₯️ Heart on AlternativeTo</a>
40+
<br><a href="https://github.com/dribdat/dribdat" target="_blank">⭐ Star us on GitHub</a>
41+
</font></center>
3942

4043
## Contact
4144

0 commit comments

Comments
Β (0)