/hackathon-submission

GNU General Public License v3.0GPL-3.0

Hackathon Submissions Platform Template

Here's a template repo for you to generate a submission platform for your hackathon for free on GitHub.

Table Of Contents

Steps To Use This Repo

  • Click on Use this template to generate a copy of the repository for your hackathon.
image

Note: In order to use the Hackathon Submissions Issue Form, your repository must be public.

  • Add new Issue Labels (and remove the existing ones) so that the list looks as follows. (Guide)

image

  • Edit the Example Hackathon Description to add/update all the necessary details regarding your hackathon.

  • Edit the Code of Conduct to add details of the organizers and the hackathon.

  • Review (and update) the Rules to add your own set of rules for the hackathon.

  • Remove the contents of the Readme before the hackathon description.

Exporting Submission Links

If you want export all submission links to a CSV file, follow the following steps:

  • Install Python 3.x on your system.

  • Create a folder to store your submissions CSV.

  • Enter the folder, create a file script.py and add the following code:

"""
Inspired by script the created by prateek032: https://gist.github.com/prateek032/06273e179bb034800c61
"""

import csv
import requests
import json

REPO = ""  # format is username/repo
ISSUES_FOR_REPO_URL = "https://api.github.com/repos/%s/issues" % REPO
arg = "?state=all"

# Since the hackathon repos must be public (to allow issue forms), username and password are not necessary.


def write_issues(r):
    "output a list of issues to csv"
    if not r.status_code == 200:
        raise Exception(r.status_code)
    for issue in r.json():
        Tag = []
        labels = issue["labels"]
        for label in labels:
            Tag.append(label["name"])

        if "issues" in issue["html_url"]:
            csvout.writerow(
                [
                    issue["number"],
                    issue["title"],
                    Tag,
                    issue["state"],
                    issue["created_at"],
                    issue["html_url"],
                ]
            )


r = requests.get(ISSUES_FOR_REPO_URL + arg)

csvfile = "%s-issues.csv" % (REPO.replace("/", "-"))
csvfileo = open(csvfile, "w")
csvout = csv.writer(csvfileo)
csvout.writerow(["Id", "Title", "Tag", "State", "Open Date", "URL"])

write_issues(r)

# more pages? examine the "link" header returned
if "link" in r.headers:
    pages = dict(
        [
            (rel[6:-1], url[url.index("<") + 1 : -1])
            for url, rel in [link.split(";") for link in r.headers["link"].split(",")]
        ]
    )

    while "last" in pages and "next" in pages:
        r = requests.get(pages["next"], auth=AUTH)
        write_issues(r)
        if pages["next"] == pages["last"]:
            break
        pages = dict(
            [
                (rel[6:-1], url[url.index("<") + 1 : -1])
                for url, rel in [
                    link.split(";") for link in r.headers["link"].split(",")
                ]
            ]
        )

csvfileo.close()
  • Open your shell in the same folder and run the command pip install requests followed by python script.py.

  • You should have a CSV file with all the submissions in your folder.


XYZ Hackathon: Example Hackathon Description

About The Hackathon

XYZ Hackathon is a 48-hour digital hackathon where young minds possessing a passion for solving real-life problems come together to build innovative solutions. Whether you are a beginner or an expert coder, here is the perfect chance to hone your skills and witness the competitive yet inclusive developer community around you!

Learn new technologies, enhance your team management and presentation skills, and get mentored by experts- all in one place!

Timeline

  • Start Date and Time: 1st January 2022 at 11:00 AM IST
  • Start Date and Time: 3rd January 2022 at 11:00 AM IST

Tracks

  • Track 1

Description of Track 1

  • Track 2

Description of Track 2

  • Track 3

Description of Track 3

  • Track 4

Description of Track 4

Prizes

  • 1st Prize
  • Cash worth $500
  • XYZ Hackathon Swags
  • 2nd Prize
  • Cash worth $300
  • XYZ Hackathon Swags
  • 3rd Prize
  • Cash worth $100
  • XYZ Hackathon Swags

Judging Parameters

  1. Project Completeness and Functionality (25%)
  • Does the project stand as an individual end-to-end product?
  • Is it a functioning solution that can scale in the real world?
  1. Creativity in Design (25%)
  • Does the project bring innovations in design and create comfortable user experiences?
  1. Innovation in Idea (25%)
  • Does the project attempt to solve a previously unsolved problem?
  1. Social Impact (25%)
  • Does the project have an impact on people's lives at a social level?

How To Submit Your Project?

Follow the steps to submit your project in the hackathon:

  • Visit the Issues tab in the respository and click on New Issue

image

  • Find the Hackathon Submission option and click on Get Started

image

  • Enter your submission details and you're good to go!

Video Tutorial - How To Submit Your Project?

Tutorial.mp4

Rules and Code of Conduct

All participants must agree to the Rules and Code of Conduct to participate in the Hackathon.