BuzzLeague is a leaderboard application for college students that ranks them based on their LeetCode ranking. It's a platform where the students of Chennai Institute of Technology can compete and grow together.
- Robust filtering options: List students based on their ranking, number of easy/medium/hard problems solved, department, year, etc.
- Customizable entries: The number of entries being shown can be customized.
- Save Option: Share your champion status by downloading it as an image, which can be shared on LinkedIn or Twitter.
- Keyboard Shortcuts: Use
<
to navigate to the previous page of the leaderboard and>
to go forward. - BuzzLeague Champion 🏆: Champion status to the student with the highest LeetCode ranking and Contest Rating.
To join BuzzLeague, submit your valid LeetCode username along with your department, year, and email. Please ensure that your LeetCode profile lists "Chennai Institute of Technology" or "Chennai Institute of Technology and Applied Research" as your education, as this is how we verify your affiliation with CIT. If a registered student changes their username, they will be removed from BuzzLeague and will need to re-register with their new username.
- SvelteKit - Modern framework for building fast and efficient web apps with simplicity
- TypeScript - 😅
- PicoCSS - Minimal CSS Framework for semantic HTML
- Supabase-js - An isomorphic Javascript client for Supabase.
- Html-to-image - Generates an image from a DOM node using HTML5 canvas and SVG.
- Clone the repository:
git clone https://github.com/lovelindhoni/buzzleague.git
- Create a .env file in the root directory and add the following values:
SUPABASE_URL=<Your_Supabase_URL>
SUPABASE_ANON_KEY=<Your_Supabase_Anon_Key>
GITHUB_PAT=<Your_Github_Personal_Access_Token>
The SUPABASE_URL and SUPABASE_ANON_KEY are the credentials for your Supabase database instance. The GITHUB_PAT is your GitHub Personal Access Token which has permissions only to public repos. This environment variable is optional.
- Run the following SQL query on the SQL editor on your Supabase dashboard to create the table with the required schema:
CREATE TYPE Year AS ENUM ('1st', '2nd', '3rd', '4th');
CREATE TYPE Department AS ENUM ('CSE-AIML', 'CSE-AIDS', 'CSE', 'CSE-CS', 'CSBS', 'ECE', 'EEE', 'BME', 'MCT', 'MECH', 'SH', 'CIVIL', 'IT', 'ACT', 'VLSI');
CREATE TABLE lcusernames (
username TEXT PRIMARY KEY,
email TEXT NOT NULL,
year Year NOT NULL,
department Department NOT NULL
);
- After creating the .env file, install all the dependencies by running:
pnpm i
- Start the development server by running:
pnpm run dev
This will start the development server at localhost:5173.
MIT
For any queries or suggestions, please feel free to reach out.
Happy Grinding! 🎉