-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add README file with project overview
- Loading branch information
1 parent
b1adb10
commit 2ca4d03
Showing
1 changed file
with
85 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# [Podium](https://podium.hackclub.com/), a peer-judging platform for Hackathons | ||
|
||
## For Attendees | ||
|
||
### Overview | ||
|
||
Podium allows you, and your team members, to submit the project you’ve spent the past ~24 hours on. To get started, head over to [Podium](https://podium.hackclub.com) (podium.hackclub.com) and create an account. After you sign up, you’ll receive an email with a link, valid for fifteen minutes, allowing you to login. | ||
|
||
### Joining | ||
|
||
To join an event, enter the join code given to you by the event organizer(s). It’s a ~4-character case-insensitive code that looks like “**AMXU**” or “**-PWJ**” and can be entered on the homepage. Upon joining the event, you’re now able to create a project. | ||
|
||
### Creating a project | ||
|
||
You can create a project from the homepage, just fill out your project’s information and press “**Create Project”**. For everyone else on your team, they just have to enter the project’s join code, found in your project dashboard, into their project dashboard. | ||
|
||
Please keep in mind that the hours field is just for statistics, so please be honest when filling it out. Also include your team members' hours! | ||
|
||
### Updating projects | ||
|
||
Made a mistake when creating your project? Decided to remake your project two hours before voting? No problem! Go to the project dashboard to update your event. | ||
|
||
### Voting | ||
|
||
To experience other attendees’ projects, and to vote on them, go to the events dashboard click on the “**Rank Projects**” button. From here, you’ll be able to visit project demos and view their repositories. To begin voting, select the top two or three projects (depending on the size of the event) that you like most. Then, submit your vote. Order doesn’t matter! | ||
|
||
### Leaderboard | ||
|
||
Want to see current project standings? Head over to the leaderboard for the event you’re attending by going to the event dashboard and then pressing the “**Leaderboard”** button. | ||
|
||
|
||
## For Organizers | ||
|
||
As an organizer, Podium streamlines the competitive aspect of your hackathon by allowing for attendees to seamlessly submit projects and vote on them. To get started, head over to [Podium](https://podium.hackclub.com/) and create an account. After you sign up, you’ll receive an email with a link, valid for fifteen minutes, allowing you to login. | ||
|
||
To set up your event, go to the events dashboard from the homepage, and create an event. You should see a join code, a ~4-character case-insensitive code that looks like “AMXU” or “-PWJ”, in the list below. Distribute this code to attendees to allow them to join! | ||
|
||
## Development | ||
There's a SvleteKit frontend and a FastAPI backend. | ||
|
||
For secrets, you need the following as environment variables or in the `backend/` folder in `.secrets.toml` or `.env` files: | ||
* `airtable_token` | ||
* `jwt_secret` | ||
* `sendgrid_api_key` | ||
|
||
### Airtable | ||
Airtable is heavily relied upon. You need the following tables (change the IDs in `settings.toml`): | ||
|
||
* Users | ||
* `email` - primary, email | ||
* `first_name` - single line text | ||
* `last_name` - single line text | ||
* `owned_event` - link to another record in the Events table | ||
* `attending_events` - link to another record in the Events table, multiple can be linked | ||
* `projects` - link to another record in the Projects table, multiple can be linked | ||
* `votes` - link to another record in the Events table, multiple can be linked | ||
* `street`, `street_2`, `city`, `state`, `zip`, and `country` - single line text | ||
* `dob` - date | ||
* `referrals` - link to another record in the referrals table, multiple can be linked | ||
* Events | ||
* `name` - single line text | ||
* `description` - long text | ||
* `owner` - link to another record in the Users table | ||
`attendees` - link to another record in the Users table, multiple can be linked | ||
* `join_code` - single line text | ||
* `projects` - link to another record in the Projects table, multiple can be linked | ||
* `voters` - link to another record in the Users table, multiple can be linked | ||
* `referrals` - link to another record in the referrals table, multiple can be linked | ||
* Projects | ||
* `name` - single line text | ||
* `owner` - link to another record in the Users table | ||
* `readme`- URL | ||
* `repo` - URL | ||
* `demo` - URL | ||
* `points` - number | ||
* `description` - long text | ||
* `image_url` - URL | ||
* `event` - link to another record in the Events table | ||
* `join_code` - single line text | ||
* `collaborators` - link to another record in the Users table, multiple can be linked | ||
* `hours_spent` - number | ||
* referrals | ||
* `content` - single line text | ||
* `user` - link to another record in the Users table | ||
* `event` - link to another record in the Events table |