GitHub - dribdat/dribdat: Self-hosted challenge board for sweeter hackathons ๐Ÿ

Github Actions build status codecov status FOSSA status Ask DeepWiki

A playful platform for data-driven hackathons and hexagonal teams.

Designed to bootstrap your awesome hackathon โฌกโฌขโฌก Dribdat is a versatile open source toolbox for civic tech sprints and crowdsourcing. To get started, install the software. See ๐Ÿšฒ Tour de Hack for examples, and ๐Ÿ“– User handbook for screenshots.
There are mirrors on ๐Ÿ”๏ธ Codeberg and GitHub.

We aim to include people of all backgrounds in using + developing this tool - no matter your age, gender, race, ability, or sexual identity. Please review our ๐Ÿณ๏ธโ€๐ŸŒˆ Code of Conduct.

Live demo ๐Ÿซ€ demo.dribdat.cc

Read more about the project vision and history here:

Documentation ๐Ÿ“š docs.dribdat.cc

Features

  • ๐Ÿ“… Full Event Lifecycle: From announcing your event and publishing challenges to forming teams and showcasing results, Dribdat has you covered.
  • ๐Ÿงฉ Project Curation: A playful and engaging interface for participants to explore ideas and for organizers to manage projects.
  • ๐Ÿ”„ Data Aggregation: Automatically sync project updates from Git, Forgejo, Etherpad, and more.
  • ๐Ÿ› ๏ธ Rich Tool Integrations: Connect with popular platforms like Slack, Mattermost, Discord, and others.
  • ๐ŸŽจ Customizable & Themeable: Tailor the platform to your event's brand with a customizable frontend and admin-configurable settings.
  • ๐Ÿ“Š Progress Tracking: Keep a pulse on all projects with real-time progress logs and updates.
  • ๐Ÿš€ Alternative Frontends: Use the standard Bootstrap UI, or try Backboard (Vue.js) for a more modern feel.

For details, please see the User Handbook. If you need help in setting up, please get in touch via ๐Ÿ—ฃ๏ธ Discussions.

Quickstart

The Dribdat project can be deployed to any server capable of serving Python applications, and is set up for fast deployment using Ansible or Docker ๐Ÿ€ The first user that registers becomes an admin, so don't delay when you make your play!

Run with Docker Compose:

    docker-compose -f docker-compose.sqlite.yml up

This will start Dribdat using a simple, self-contained SQLite database.

If you would like to run this application on any other cloud or local machine, there are instructions in the Deployment guide. Information on contributing and extending the code can be found in the Contributors guide, which includes API documentation, and other details.

See also backboard: a responsive, modern alternative frontend, and our dridbot chat client. Both demonstrate reuse of the dribdat API. If you need support with your deployment, please reach out through Discussions. Pull Requests and Issues welcome!

Credits

This application was based on cookiecutter-flask by Steven Loria, a more modern version of which is cookiecutter-flask-restful. Cookiecutter could also be a good bootstrap for your own hackathon projects!

โ™ก The Open Data, Open Networking and Open Source communities in ๐Ÿ‡จ๐Ÿ‡ญ Switzerland gave this project initial form and direction through a hundred events. โ™ฅ-felt thanks to our Contributors, and additionally: F. Wieser and M.-C. Gasser at Swisscom for support at an early stage of this project, to Alexandre Cotting, Anthony Ritz, Chris Mutel, Fabien Schwob, Gonzalo Casas, Iliya Tikhonenko, Janik von Rotz, Jonathan Schnyder, Jonathan Sobel, Philip Shemella, Thomas Amberg, Yusuf Khasbulatov .. and all participants, donors, and organizers sending in bugs and requests! You are all awesome hackers โ™ก

License

This project is open source under the MIT License.

The Contributor Covenant Code of Conduct applies to interactions with the maintainers and support community of the project.

Due to the use of the boto3 library for optional S3 upload support, there is a dependency on OpenSSL via awscrt. If you use these features, please note that the product includes cryptographic software written by Eric Young (eay@cryptsoft.com) and Tim Hudson (tjh@cryptsoft.com).