Skip to content

Irtaza2009/Arena

This branch is 30 commits ahead of main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8f3e3e1 · · Dec 13, 2025

History

114 Commits
Nov 17, 2025
Nov 30, 2025
Jul 21, 2025
Dec 13, 2025

Repository files navigation

Arena

Arena logo/banner

A project submission and voting platform for events hosted by the Special Activities Division (SAD), Hack Club!

Features

  • Slack Authentication: Secure login using Slack.
  • Project Submission: Submit your project with demo URL, source code, image, project name, and description.
  • HackaTime Integration: Optionally link your HackaTime projects and display total time spent.
  • Project Gallery: Browse all submitted projects in a clean, card-based gallery.
  • Voting System: Vote for your favorite projects in multiple categories (Creativity, Fun, Accessibility).
  • Admin Live Leaderboard: To view real-time results of the voting process.
  • Admin Panel: For viewing submissions, users, and analytics.

Local Setup

Prerequisites

  • Node.js 14+ and npm

Backend

cd arena-backend
npm install
npm startrt

Create a .env file in arena-backend/ with:

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
SLACK_CLIENT_ID=your_slack_client_id
SLACK_CLIENT_SECRET=your_slack_client_secret
SLACK_REDIRECT_URI=http://localhost:5000/auth/slack/callback
ack

Frontend

cd arena-frontend
npm install
npm startrt

The frontend will run on http://localhost:3000 and connect to the backend on http://localhost:5000.

Credits

CSS Sword

Made by Irtaza