⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

KN-Neuron/JuryApp

Repository files navigation

JuryApp

JuryApp is a modern, comprehensive web application designed to streamline the management of hackathons and competitions. It provides a seamless experience for participants to register and submit their work, while offering a robust interface for juries to evaluate and rate presentations efficiently.

Currently configured for the Heroes Of The Brain 2025 - one of the largest stationary neurotechnology hackathon in Europe.

🚀 Key Features

  • Dynamic Event Configuration: Easily customizable event details, categories, schedule, and rating criteria via a centralized app_config.yaml file.
  • Team Management:
    • Team registration and profile management.
    • File uploads (e.g., PDF presentations).
    • Submission status tracking.
  • Jury System:
    • Dedicated jury accounts and login.
    • Intuitive rating interface with configurable criteria (e.g., Innovation, Usefulness).
    • Real-time progress tracking and rating confirmation workflow.
  • Real-time Ranking: Automatic calculation of team rankings based on jury scores.
  • Admin Dashboard: Overview of system status and event metrics.
  • Internationalization (i18n): Multi-language support (English, Polish) using Paraglide.
  • Responsive Design: optimized for desktop and mobile devices.

🛠️ Tech Stack

⚙️ Configuration (app_config.yaml)

The core logic of the event is controlled by app_config.yaml. This allows you to repurpose the application for different events without changing the code.

event:
  name: "Event Name"
  year: "2025"
  # ...
  categories:
    - key: "wellness"
      name: "Wellness"
      color: "#36c399"
  rating_criteria:
    - key: "innovation"
      name: "Innovation"
      maxScore: 5

Key sections:

  • event: Basic info (name, organizer, deadlines).
  • categories: Define competition tracks/categories.
  • rating_criteria: Customize the scoring metrics and weights.
  • schedule: Define the event timeline displayed to users.
  • links: Add useful external links (Discord, Wiki, etc.).

📦 Installation & Setup

Prerequisites

  • Node.js (v18+ recommended) or Bun
  • A running PocketBase instance.

Steps

  1. Clone the repository:

    git clone <repository-url>
    cd JuryApp
  2. Install dependencies:

    npm install
    # or
    bun install
  3. Environment Configuration: Create a .env file in the root directory (use .env.example as a template) and configure your PocketBase URL.

    PUBLIC_POCKETBASE_URL=http://127.0.0.1:8090
  4. Start the Development Server:

    npm run dev
  5. Open the App: Navigate to http://localhost:5173 in your browser.

📜 Scripts

  • npm run dev: Start the development server.
  • npm run build: Build the application for production.
  • npm run preview: Preview the production build locally.
  • npm run check: Run SvelteKit sync and TypeScript check.
  • npm run lint: Run ESLint and Prettier checks.
  • npm run format: Format code with Prettier.
  • npm run test: Run unit tests with Vitest.

Screenshots

telegram-cloud-photo-size-4-5944844193983302928-y

Admin Dashboard

image

Rating

image image

Ranking

image

Project submission

image image

📄 License

MIT

About

Heroes of the Brain 2025

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published