Skip to content

Repository files navigation

⚡ BYTE 2025 (Bringing Your Tech Experience)

Laravel Vue.js Inertia.js Tailwind CSS Laravel Reverb

BYTE (Bringing Your Tech Experience) 2025 is the official web application for the annual IT & Tech event organized by the Informatics Student Association (HMIF) at Universitas Multimedia Nusantara (UMN). The platform provides a portal for event registrations, tournament brackets, workshop scheduling, and an interactive real-time quiz game.


🚀 Key Features

🔐 Multi-Provider SSO Authentication

  • UMN CAS SSO Integration: Seamless login for UMN students using the official Central Authentication Service.
  • Google OAuth Login: Simple login for external participants via Laravel Socialite.
  • Jetstream Profiles: Session management, account settings, and security features.

🏆 FUSE (Sports & E-sports Tournaments)

  • Dedicated registration and management for competitive events:
    • Sports: Badminton & Basketball
    • E-sports: Mobile Legends & Valorant
  • Custom forms support team composition, mixed-gender leagues, and documentation uploads.

🌐 HORIZON (Exhibition & Workshops)

  • Virtual exhibition portal highlighting tech innovations.
  • Registration workflow for interactive technology workshops sponsored by top-tier partners:
    • Apple Developer Academy
    • BCA (Bank Central Asia)
    • CTI Group
    • ICC (Informatics Computer Club)

🎮 INFINITE (Real-Time Interactive Quiz)

  • Multiplayer interactive quiz game built on top of Laravel Reverb (WebSockets) and Laravel Echo.
  • Real-Time Leaderboard: Instantly updates score progressions using presence and private channels.
  • Dynamic Questions: Fetched dynamically with automated timer sync and multi-tier point scoring depending on response speeds.

🛠️ Technology Stack

  • Backend: PHP 8.2+, Laravel 11, Laravel Sanctum, Laravel Reverb (WebSocket Server), Laravel Socialite, CAS integration.
  • Frontend: Vue 3, Inertia.js (Inertia Vue3 adapter), GSAP (ScrollTrigger & animations), TailwindCSS 4, Axios.
  • Tooling: Vite, npm, Composer.

💻 Getting Started

Prerequisites

Make sure you have the following installed on your machine:

  • PHP 8.2 or higher
  • Composer
  • Node.js (v18+) & npm
  • MySQL or SQLite database

Installation

  1. Clone the Repository:

    git clone https://github.com/stevjoo/byte2025.git
    cd byte2025
  2. Install PHP Dependencies:

    composer install
  3. Install JavaScript Dependencies:

    npm install
  4. Setup Environment Variables: Copy the example file to .env and generate the app key:

    cp .env.example .env
    php artisan key:generate
  5. Configure the Database: Edit the .env file and set up your database credentials (e.g., MySQL or SQLite).

  6. Run Migrations & Seeders: Seed the database with default quizzes, events, and mock data:

    php artisan migrate --seed

⚡ Running Locally

You can spin up the development servers concurrently using the custom Composer script or manually:

Option A: Using the Concurrent Script (Recommended)

This runs the Laravel local server, queue listener, log monitoring, and Vite development server in a single terminal session:

composer run dev

Option B: Running Manually in Separate Terminals

  1. Laravel Backend Server:

    php artisan serve
  2. Vite Frontend Development:

    npm run dev
  3. WebSocket Server (Laravel Reverb):

    php artisan reverb:start
  4. Background Queue Worker:

    php artisan queue:listen

📂 Project Structure

├── app/
│   ├── Http/Controllers/     # SSO, Event/Fuse, and Quiz Game controllers
│   └── Models/               # User, Event, Quiz, and Score models
├── config/                   # Reverb, CAS, Socialite and system configurations
├── database/
│   ├── migrations/           # Database schema migrations
│   └── seeders/              # Question, quiz, and event dummy data seeders
├── resources/
│   ├── Assets/               # Static logo & event assets
│   ├── css/                  # App styling files
│   ├── js/
│   │   ├── Components/       # Reusable Vue components
│   │   ├── Layouts/          # Page layouts (Home, Fuse, Horizon, Infinite)
│   │   └── Pages/            # Inertia/Vue pages
│   └── views/                # Blade entry template (app.blade.php)
└── routes/                   # web, api, and WebSocket broadcast channels

About

Bringing Your Tech Experience (BYTE) 2025 - Official web platform for UMN's annual IT event. Built with Laravel 11, Inertia.js, Vue 3, TailwindCSS, and Laravel Reverb. Features SSO integration, workshop portals, tournament registrations, and a real-time interactive quiz.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages