A modern Progressive Web App (PWA) built with SvelteKit for managing tournaments, teams, matches, and user authentication. It leverages modern technologies like SvelteKit, Drizzle ORM, Postgres, TailwindCSS, and authentication services for a robust, scalable, and secure experience. Visit the app
⚡ This application was originally created for Lycus Inc. to streamline and digitize their tournament management process. Designed with scalability in mind, it can be adapted for schools, sports clubs, and corporate events, offering organizers a seamless way to register teams, manage matches, and showcase live standings. Its intuitive interface ensures both administrators and participants have an engaging, user-friendly experience.
git clone https://github.com/yourusername/scoreboard-management-system.git
cd scoreboard-management-system
bun install
.env file:DATABASE_URL (Postgres connection string)BETTER_AUTH_SECRET (authentication secret)PUBLIC_VAPID_KEY and PRIVATE_VAPID_KEY (for push notifications)Run migrations:
bun run db:migrate
Seed the DB with mock Data:
bun run seed
Start the development server:
bun run dev
Build for production:
bun run build
Preview production build:
bun run preview
dev: Start development serverbuild: Build for productionpreview: Preview production builddb:migrate: Run database migrationsdb:push: Push schema changesdb:generate: Generate migration filesdb:studio: Open Drizzle Studiolint: Run Prettier and ESLintformat: Format codebaseUses secure authentication with OAuth. Supports Google authentication. Role-based access is enforced in API routes and UI components.
/api/standings/[id]: Get tournament standings by ID/api/matches, /api/teams, /api/tournaments: Protected committee/admin routes/api/users: Protected admin routeThis application is built as a Progressive Web App, which means:
DATABASE_URL: NeonDB Postgres connection stringBETTER_AUTH_SECRET: Auth secretPUBLIC_VAPID_KEY: Vapid keyPRIVATE_VAPID_KEY: Vapid keyConfigured for Vercel deployment via @sveltejs/adapter-vercel. See svelte.config.js for adapter settings.
Default password is: password1234
There are many regular users. You can see there emails from the admin panel.
Copyright (c) 2026 ehtishamalik
This project is proprietary and confidential. Unauthorized copying, distribution, or use is strictly prohibited.