Ga naar inhoud

Een project opzetten

Deze gids is voor bouwers: wie een project inricht en de ontwerprichtingen in code maakt. Van een lege server tot een draaiende ronde, in zeven stappen.

Bij elke stap staat of je hem in de browser doet of in de code.

Voorbereiden

1De server draaien en wachtwoorden instellen

In de code

CrossView heeft een draaiende Node-server nodig. De ontwerppagina’s worden vooraf gebouwd, maar het overzicht, het beoordelingsformulier en het rapport lezen de beoordelingen bij elk bezoek van schijf. Statische hosting werkt daarom niet.

Lokaal start je de ontwikkelserver vanuit de map van de repository:

bun run dev

Op een server bouw je eerst en start je daarna, of je gebruikt de Docker-image:

bun run build && bun run start

Wachtwoorden en adressen staan in environment-variabelen, nooit in git:

CROSSVIEW_ADMIN_PASSWORD
Beheer van alle projecten. Zonder dit wachtwoord kun je geen nieuw project aanmaken.
CROSSVIEW_PROJECT_PASSWORD_{SLUG}
Toegang voor beoordelaars als een project met een gedeeld wachtwoord werkt. {SLUG} is de projectnaam in hoofdletters.
CROSSVIEW_PUBLIC_URL
Het openbare adres van de site, voor volledige links in herinneringsmails.

De README in de repository beschrijft installatie, Docker en deploy in detail.

Project opzetten

2Een nieuw project aanmaken

In de browser

Ontgrendel Beheer onderaan een projectpagina met het beheerwachtwoord uit stap 1. Daarna staat op het overzicht de knop Nieuw project. Het formulier vraagt om:

  • Naam, titel en opdrachtgever van het project.
  • Pagina’s: de gedeelde opbouw die elke richting invult, met per pagina de secties. De eerste pagina is de startpagina.
  • Richtingen: minstens twee, uit de briefing of als eigen tegenvoorstel. Het aantal kies je per project.
  • Koppeling ronde 1: welke twee richtingen je onder één thema naast elkaar zet. Dit mag leeg blijven.

CrossView maakt daarna per richting een lege pagina voor elke pagina die je opgaf, plus één inhoudsbestand per pagina. Je komt direct in de briefing-editor.

3De briefing schrijven

In de browser

Schrijf de briefing in de briefing-editor onder Beheer. Je schrijft in markdown en ziet ernaast hoe beoordelaars de tekst straks lezen.

Het panel van beoordelaars, met naam, rol en e-mail, stel je samen op de panelpagina. De instellingen van het project staan in project.yaml; dat bestand blijft de bron.

4De gedeelde inhoud vullen

In de code

Per pagina staat er een bestand content/{pagina}.yaml, met de secties die je in stap 2 opgaf. Alle richtingen lezen dezelfde bestanden.

Die gedeelde inhoud is de meetlat: elke richting vertelt hetzelfde verhaal, dus beoordelaars vergelijken alleen de vormgeving. Teksten kun je later ook per ronde aanpassen via Beheer.

5De ontwerprichtingen bouwen

In de code

Elke richting heeft een eigen map styles/{richting}/ met één .astro-bestand per pagina en een eigen theme.css. De startpagina heet altijd index.astro. Twee regels houden de vergelijking eerlijk:

  • Houd richtingen gescheiden. Importeer nooit de CSS of kleurtokens van CrossView zelf. Lekt er stijl tussen richtingen, dan vergelijk je varianten van één sjabloon in plaats van echte alternatieven.
  • Verschil in opbouw, niet alleen in kleur. Elke pagina mag een heel eigen indeling hebben, ook binnen één richting.
Technische details voor ontwikkelaars

Richtingen krijgen hun data via StyleRenderProps en importeren types via de alias @lab/*. Zo blijft een map compileren als hij later naar het archief van de ronde verhuist.

Ronde draaien en afronden

6De ronde openen

In de browser

Regel op de toegangspagina hoe mensen binnenkomen: open, met een gedeeld wachtwoord of met persoonlijke links. Stuur het panel de persoonlijke links of QR-codes, en schrijf via Beheer de introductietekst en de volgende stap van deze ronde.

Vanaf hier is de ronde live. Lees hoe je een ronde leidt: het panel bewaken, het rapport delen en de ronde afsluiten.

7Besluiten, archiveren en doorgaan

In de browser en de code

De projectbeheerder legt op de beslispagina per richting het besluit vast: behouden, schrappen of samenvoegen met een richting die behouden blijft. Meerdere richtingen mogen door, minimaal één; alleen in de slotronde blijft er precies één over. Bij het opslaan archiveert CrossView de ronde meteen; je hoeft niets apart te starten.

De richtingen gaan als momentopname naar rounds/{n}/ en blijven terug te kijken. Pas een momentopname nooit achteraf aan; wijzig de werkversie en archiveer opnieuw.

Archiveren zonder de beslispagina

Wil je een ronde vastleggen zonder besluit, dan kan dat vanuit de map van de repository. Controleer eerst met een proefrun:

bun run lab:archive -- --project={slug} --dry-run

Klopt het overzicht, voer het dan echt uit:

bun run lab:archive -- --project={slug}

Voor de volgende ronde laat je behouden richtingen staan, verwerk je samenvoegingen met de hand in de richting die overblijft en verwijder je geschrapte richtingen. Je kunt er ook nieuwe richtingen naast zetten.

Als iets niet werkt

Ik zie de knop Nieuw project niet
De knop verschijnt alleen als je Beheer hebt ontgrendeld met CROSSVIEW_ADMIN_PASSWORD, niet met het beheerwachtwoord van één project. Is de variabele net gezet? Start de server dan opnieuw.
Archiveren via de command line stopt met een melding
Draai het commando met --dry-run en lees de melding: meestal klopt de projectnaam na --project= niet. Er wordt dan nog niets verplaatst.