Project 22 - Tabletop Tournament Hub
Een platform voor bordspel- en kaarttoernooien, inschrijvingen, rondes en uitslagen.
1. Achtergrond en probleem
Critical Corner organiseert betaalde toernooien voor verschillende spellen. Inschrijvingen en wedstrijdindelingen worden nu handmatig gemaakt.
De winkel wil deelnemers online inschrijven, rondes publiceren en standen berekenen zonder dubbele koppelingen.
2. Doelstelling
De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam GameTable. 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
- Speler
- schrijft zich in en bekijkt wedstrijdindelingen en stand.
- Toernooileider
- beheert deelnemers, rondes, tafels en uitslagen.
4. Gewenste functies
Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.
Voor spelers
- Account en spelersnaam beheren.
- Open toernooien filteren op spel en datum.
- Inschrijven zolang capaciteit beschikbaar is.
Voor toernooileiders
- Toernooi met capaciteit en puntensysteem beheren.
- Deelnemers goedkeuren en een startpositie instellen.
- Per ronde spelers aan elkaar koppelen.
Algemeen
- Een speler maximaal één keer per ronde koppelen.
- Alleen gepubliceerde rondes tonen.
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.
- Een speler kan per ronde maar één keer worden ingedeeld.
- Bereken de stand met een eenvoudige 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: #1E1B4B, #F59E0B, #DC2626 en #F8FAFC. Deze kleuren zijn een richting. Een passend alternatief mag ook.
Mogelijke indeling: Een speelse toernooiweergave met een efficiënte beheertabel.
Handige onderdelen: Ronde-tabs, tafelkaarten, score-invoer en standenbord.
- 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.