Project 21 - Photography Booking Portal
Een klantportaal voor fotoshoots, pakketten, locaties, selectierondes en opleverstatus.
1. Achtergrond en probleem
Northlight verkoopt portret-, product- en evenementfotografie. Afspraken, voorkeuren en beeldselecties lopen nu door elkaar via e-mail.
De studio wil reserveringen structureren en klanten binnen hun eigen opdracht foto’s laten selecteren uit veilige voorbeeldrecords.
2. Doelstelling
De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam SnapSlot. 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
- Klant
- boekt een shoot, vult wensen in en selecteert favoriete beelden.
- Fotograaf
- beheert beschikbaarheid, opdrachten, selecties en oplevering.
4. Gewenste functies
Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.
Voor klanten
- Pakketten en beschikbare momenten bekijken.
- Shoot aanvragen met locatie en wensen.
- Aanvraagstatus en afspraken volgen.
Voor fotografen
- Pakketten, duur en beschikbaarheid beheren.
- Aanvragen bevestigen of een alternatief voorstellen.
- Opdrachtbriefing en interne notities vastleggen.
Algemeen
- Klanten zien uitsluitend beelden van eigen opdrachten.
- Tijdsduur en reistijd bij overlapcontrole meenemen.
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 klant kan alleen beelden van de eigen opdracht bekijken.
- Voorkom dat twee fotoshoots met elkaar overlappen.
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: #FAFAF9, #292524, #A16207 en #E7E5E4. Deze kleuren zijn een richting. Een passend alternatief mag ook.
Mogelijke indeling: Een rustige, visuele stijl met een zakelijke opdrachtenzijbalk.
Handige onderdelen: Pakketkaarten, tijdslotkiezer, previewgrid en selectieteller.
- 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.