Hello Gardeners!
The number of ETH* events has grown incredibly recently, so it would be a good idea to start categorizing and archiving information about these events for future generations. Every event can be considered a unique piece of art in some way, not only because of the graphic design or content, but also the atmosphere.
At the same time, we would like to make it as open as possible, where anyone can edit or add to the data and distribute the data as decentralized as possible.
I have already started implementing this project - the working title is chronicle
. See below for more information.
Collected data
- basic event data (name, date and time, venue, links…)
- attendance data (expected and real)
- contributors (speakers, mentors, judges, team…)
- partners and sponsors: how the event was funded
- event web - archiving like web.archive.org
- graphic content - logos, posters and other materials
- data about each talk, workshop, etc.
- hackathon: details about the hackathon (number of hackers, projects, prizes, bounties, platform…)
- post-event materials: photos, videos (aftermovie…)
MVP Implementation
Frontend
MVP frontend is created using Astro, Svelte & Tailwind (source code).
The application can be found at:
Example: EthereumZurich 2023, ETHBerlin³, ETHBrno²
Screenshot
Backend
I decided to start simple, so I created a GitHub repository where the information is stored in YAML files, and builded into single JSON, which can be easily stored on IPFS or other distributed storage, link below:
Data
The source data is stored in YAML format in the ./data
directory.
Schema is defined in JSON Schema format, definitions can be found in the ./schema
directory, e.g. ./schema/event.yaml
.
Output can be consumed as single JSON at this URL:
Collections
Collection | Schema | Description |
---|---|---|
event | event.yaml | Particular event |
family | family.yaml | Family of events (for example ETHGlobal) |
series | series.yaml | Series of events in chronological order (for example ETHPrague, ETHBerlin…) |
Build
The build into a single JSON bundle is done using scripts written in Javascript, executed via Deno runtime & makefile.
Event example - index.yaml
Here is an example of the definition of a specific event (source):
name: EthereumZurich
series: ethereumzurich
types: [ conference, hackathon ]
date: "2023-04-14"
days: 3
place: Zurich
region: europe
country: ch
host_name: DuckTape/PWN
attendees: 800
attendees_real: 489
links:
web: https://ethereumzuri.ch/
hackathon:
hackers: 100
hackers_real: 71
hacker_application_platform: typeform
projects: 16
project_submission_platform: devfolio
project_submission_url: https://ethereumzurich.devfolio.co/
prizes_total: 5000 USD
prizes:
- name: Open track - quadratic voting [1st place]
amount: 1500 USD
- name: Open track - quadratic voting [2st place]
amount: 1000 USD
- name: Open track - quadratic voting [3st place]
amount: 500 USD
- name: Judges' favourites [1st place]
amount: 2000 USD
bounties_total: 3750 USD
bounties:
- name: Gelato Web3 Functions
amount: 750 USD
- name: DataverseOS Web3 Functions
amount: 1000 USD
- name: API3 DAO - Use of first-party oracles
amount: 1000 USD
- name: PWN bounty
amount: 1000 USD
aftermovie: https://www.youtube.com/watch?v=xWJoMOSDgu0