Project 30 - Group Trip Organizer
Een deelnemersportaal voor groepsreizen, activiteitenkeuzes, deadlines en praktische documentenstatus.
1. Achtergrond en probleem
RoamReady verkoopt groepsreizen aan jongvolwassenen. Activiteitenkeuzes en praktische gegevens komen via losse formulieren binnen.
De organisatie wil per reis duidelijk zien wie welke keuze heeft gemaakt en deelnemers alleen hun eigen gegevens laten beheren. Het MVP verwerkt geen betalingen of echte identiteitsdocumenten.
2. Doelstelling
De opdrachtgever wil een eerste werkende versie (MVP) laten maken onder de naam TripCrew. 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
- Reiziger
- bekijkt het programma en beheert eigen keuzes en praktische status.
- Reiscoördinator
- beheert reizen, activiteiten, capaciteit en deelnemersoverzicht.
4. Gewenste functies
Voor de eerste versie zijn dit de belangrijkste functies. De opdrachtgever wil deze onderdelen in ieder geval terugzien.
Voor reizigers
- Account activeren voor een geboekte reis.
- Dagprogramma en praktische informatie bekijken.
- Activiteit kiezen binnen capaciteit en deadline.
Voor coördinatoren
- Reizen, dagen en programmaonderdelen beheren.
- Activiteiten met capaciteit en deadline instellen.
- Deelnemers en voltooiingsstatus bekijken.
Algemeen
- Geen echte paspoortkopieën of betaalgegevens opslaan.
- Privégegevens alleen aan bevoegde coördinatoren 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.
- Laat niet meer deelnemers toe dan de capaciteit van een activiteit.
- Een reiziger ziet en wijzigt alleen de eigen keuzes en gegevens.
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: #0C4A6E, #06B6D4, #F97316 en #F8FAFC. Deze kleuren zijn een richting. Een passend alternatief mag ook.
Mogelijke indeling: Een frisse reisroute voor deelnemers en een voortgangsdashboard voor coördinatoren.
Handige onderdelen: Dagprogramma, activiteitkaart, capaciteitsmeter en persoonlijke checklist.
- 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.