Creating a Comprehensive Hackathon Database with Outerbase and Supabase ππ οΈ

Search for a command to run...

No comments yet. Be the first to comment.
Claude is incredibly good at reasoning. But reasoning is only as useful as the context available to it. Your architecture might be in GitHub. Your notes might be in Obsidian. Your decisions might be b

Mind maps are an excellent addition to an MCP ecosystem when they help users understand relationships between data, tools, and reasoning. They should complementβnot replaceβtraditional dashboards, tab
Most AI agents today depend heavily on cloud APIs. They're fast, but every request costs money, depends on an internet connection, and sends your data to external providers. Over the weekend, I experi
How I use Fable 5 to research, build, and maintain custom Claude Code plugins, marketplaces, agents, and skillsβcreating reusable AI tooling that works across every project. 01 Β· The problem with copy

The way people search is changing. Is your site ready? For the past two decades, SEO (Search Engine Optimization) was the undisputed king of web visibility. Rank on Google's first page and you win tr
In this tutorial, we will walk you through the process of creating a robust hackathon database using Outerbase and Supabase. This database will allow you to efficiently manage hackathon details, challenges, teams, submissions, judges, and judging criteria. ππ
Before we begin, make sure you have the following:
An account on Supabase: Sign up here. ππ
A project set up on Supabase with credentials generated. ποΈπ
Create a project on Supabase, select your region, and generate a password. ππ
Go to project settings and then database to find and copy all the necessary connection data. π±οΈπ
Create an Outerbase account. ππ
Connect your Outerbase account to Supabase using the previously copied credentials. ππ
In Outerbase, create a new base to start building your hackathon database. π οΈποΈ
Let's begin by creating the necessary tables for our hackathon database. ποΈπ
Hackathon_ID (Unique identifier for each hackathon)
Hackathon_Name
Start_Date
End_Date
Location
Organizer_ID (Organizer's User_ID)
Description
Challenge_ID (Unique identifier for each challenge)
Hackathon_ID (Foreign key referencing the Hackathon Details Table)
Challenge_Name
Description
Difficulty_Level
Prize
Team_ID (Unique identifier for each team)
Team_Name
Hackathon_ID (Foreign key referencing the Hackathon Details Table)
Team_Leader_ID (User_ID of the team leader)
Team_Size
Team_ID (Foreign key referencing the Teams Table)
User_ID (Foreign key referencing the Users Table)
Submission_ID (Unique identifier for each submission)
Team_ID (Foreign key referencing the Teams Table)
Challenge_ID (Foreign key referencing the Challenges Table)
Submission_Date
Status (e.g., Submitted, In Review, Accepted, Rejected)
Score
Judge_ID (Unique identifier for each judge)
First_Name
Last_Name
Criterion_ID (Unique identifier for each criterion)
Challenge_ID (Foreign key referencing the Challenges Table)
Criterion_Name
Description
Max_Score
Submission_ID (Foreign key referencing the Submissions Table)
Criterion_ID (Foreign key referencing the Judging Criteria Table)
Score
Import the CSV file containing hackathon details, challenges, teams, etc., into Supabase. π€π₯
Set the primary keys and save the data into the database. ππΎ
Now that we have set up our database, let's write some queries to retrieve and manage the data. ππ
Retrieve all hackathons:
SELECT * FROM Hackathon_Details;
Retrieve all challenges for a specific hackathon:
SELECT * FROM Challenges WHERE Hackathon_ID = <hackathon_id>;
<hackathon_id> with the actual hackathon ID.Retrieve all teams for a specific hackathon:
SELECT * FROM Teams WHERE Hackathon_ID = <hackathon_id>;
<hackathon_id> with the actual hackathon ID.Retrieve all team members for a specific team:
SELECT * FROM Team_Members WHERE Team_ID = <team_id>;
<team_id> with the actual team ID.Retrieve all submissions for a specific team:
SELECT * FROM Submissions WHERE Team_ID = <team_id>;
<team_id> with the actual team ID.Retrieve all submissions for a specific challenge:
SELECT * FROM Submissions WHERE Challenge_ID = <challenge_id>;
<challenge_id> with the actual challenge ID.Retrieve the highest scoring submission for a specific challenge:
SELECT TOP 1 * FROM Submissions WHERE Challenge_ID = <challenge_id> ORDER BY Score DESC;
<challenge_id> with the actual challenge ID.Retrieve the judges for a specific hackathon:
SELECT * FROM Judges WHERE Judge_ID IN (SELECT Judge_ID FROM Judging_Criteria WHERE Challenge_ID IN (SELECT Challenge_ID FROM Challenges WHERE Hackathon_ID = <hackathon_id>));
<hackathon_id> with the actual hackathon ID.Retrieve judging criteria for a specific challenge:
SELECT * FROM Judging_Criteria WHERE Challenge_ID = <challenge_id>;
<challenge_id> with the actual challenge ID.Calculate the average score for a specific team's submissions:
SELECT AVG(Score) FROM Submissions WHERE Team_ID = <team_id>;
<team_id> with the actual team ID.








Congratulations! You have successfully created a comprehensive hackathon database using Outerbase and Supabase. This database will allow you to efficiently manage hackathon events, challenges, teams, submissions, judges, and judging criteria. Feel free to customize and expand the database according to your specific needs. Happy hacking! ππ