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.
- 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.
- 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.
- 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)
- 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.
- 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.
Make sure you have the following installed on your machine:
- PHP 8.2 or higher
- Composer
- Node.js (v18+) & npm
- MySQL or SQLite database
-
Clone the Repository:
git clone https://github.com/stevjoo/byte2025.git cd byte2025 -
Install PHP Dependencies:
composer install
-
Install JavaScript Dependencies:
npm install
-
Setup Environment Variables: Copy the example file to
.envand generate the app key:cp .env.example .env php artisan key:generate
-
Configure the Database: Edit the
.envfile and set up your database credentials (e.g., MySQL or SQLite). -
Run Migrations & Seeders: Seed the database with default quizzes, events, and mock data:
php artisan migrate --seed
You can spin up the development servers concurrently using the custom Composer script or manually:
This runs the Laravel local server, queue listener, log monitoring, and Vite development server in a single terminal session:
composer run dev-
Laravel Backend Server:
php artisan serve
-
Vite Frontend Development:
npm run dev
-
WebSocket Server (Laravel Reverb):
php artisan reverb:start
-
Background Queue Worker:
php artisan queue:listen
├── 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