Project 27 - Cinema Club Portal
Een ledenportaal voor filmvertoningen, reserveringen, stemrondes en nagesprekken.
1. Achtergrond en probleem
Lumière Local organiseert betaalde filmavonden en themareeksen. Reserveringen en stemmen voor toekomstige films worden via verschillende formulieren verzameld.
Het filmhuis wil leden één account geven voor programma, reserveringen en transparante stemresultaten.
2. Doelstelling
De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam ScreenScene. 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
- Filmlid
- reserveert vertoningen en stemt binnen actieve rondes.
- Programmamaker
- beheert films, vertoningen, stemrondes en capaciteit.
4. Gewenste functies
Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.
Voor leden
- Programma filteren op datum, genre en reeks.
- Plaats reserveren binnen de capaciteit.
- Eigen reserveringen bekijken en annuleren.
Voor programmamakers
- Films, zalen en vertoningen beheren.
- Capaciteit en reserveringsdeadline instellen.
- Stemronde met kandidaten openen en sluiten.
Algemeen
- Per lid één stem per ronde.
- Resultaten pas na sluiting openbaar 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 lid kan per vertoning maar één actieve reservering hebben.
- Een lid kan per stemronde maar één stem uitbrengen.
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: #1C1917, #DC2626, #F5F5F4 en #D6A756. Deze kleuren zijn een richting. Een passend alternatief mag ook.
Mogelijke indeling: Een klassieke filmhuislook met programma als kaarten en beheer als zijbalk.
Handige onderdelen: Vertoningskaart, bezettingsbalk, stembiljet en uitslaggrafiek met CSS.
- 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.