Project 2 - Gaming League Manager
Een competitieplatform voor teams, wedstrijden, uitslagen en een automatisch klassement.
1. Achtergrond en probleem
PixelForge organiseert wekelijkse competities voor lokale gamingteams. Inschrijvingen, lobbycodes en uitslagen worden nu via chatberichten verzameld.
Door ontbrekende of dubbele scores ontstaan discussies over de ranglijst. Het bedrijf wil een centraal platform met duidelijke rollen en controle op uitslagen.
2. Doelstelling
De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam RankRush. Het eindproduct moet het beschreven proces overzichtelijker, betrouwbaarder en veiliger maken.
De eerste versie is goed wanneer de belangrijkste gebruikers hun taken kunnen uitvoeren, de gegevens goed worden opgeslagen en iedere gebruiker alleen ziet wat bij zijn rol hoort.
3. Doelgroepen
- Teamcaptain
- beheert het team, bekijkt wedstrijden en dient uitslagen in.
- Leaguebeheerder
- plant wedstrijden, controleert uitslagen en publiceert de ranglijst.
4. Gewenste functies
Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.
Voor teamcaptains
- Registreren, inloggen en een teamprofiel beheren.
- Spelers aan het eigen team toevoegen of verwijderen.
- Wedstrijdschema en lobbycode bekijken.
Voor leaguebeheerders
- Seizoenen, poules en wedstrijden beheren.
- Twee verschillende teams aan een wedstrijd koppelen.
- Ingediende uitslagen goedkeuren of afwijzen.
Algemeen
- Alle statuswijzigingen vastleggen.
- Alleen goedgekeurde uitslagen meetellen in de ranglijst.
5. Technische wensen en voorwaarden
- De oplossing is een webapp die goed werkt op telefoon, tablet en computer.
- PHP 8+ met MySQL/MariaDB past bij deze opdracht. Laravel en een frontend-framework mogen worden gebruikt, maar dat is niet verplicht.
- Er zijn verschillende soorten accounts. Iedere gebruiker mag alleen zien en doen wat bij zijn rol hoort.
- Wachtwoorden worden veilig opgeslagen. De app controleert ingevulde gegevens en toont teksten op een veilige manier.
- De code wordt duidelijk verdeeld in onderdelen met namen die goed te begrijpen zijn.
- De app geeft duidelijke meldingen bij succes, fouten, lege resultaten en acties die niet zijn toegestaan.
- Koppel aan elke wedstrijd twee verschillende teams.
- Bereken de stand met een eenvoudige en vooraf afgesproken puntenregel.
Nog niet nodig voor de eerste versie
- Online betalingen en koppelingen met echte betaalproviders.
- Een verplichte koppeling met een externe API, tenzij dit later als uitbreiding wordt gekozen.
- De app openbaar aanbieden en werken met echte persoonsgegevens.
- Extra functies die niet in deze eerste versie zijn beschreven.
Globale wensen voor design en interface
Richting voor kleurgebruik: #10131A, #7C3AED, #22D3EE en #F8FAFC. Deze kleuren zijn een richting. Een passend alternatief mag ook.
Mogelijke indeling: Een donkere arena-interface met bovenaan seizoen en ronde; beheer gebruikt een zijbalk.
Handige onderdelen: Teamkaarten, scoreblokken, live-statusbadges en een compacte ranglijst.
- De app werkt goed op telefoon, tablet en computer.
- Formulieren hebben duidelijke namen bij de velden en begrijpelijke foutmeldingen.
- Een status wordt met kleur én tekst aangegeven.
- Bij een lege lijst of een fout ziet de gebruiker een duidelijke melding.