Files
Fociz/README.md
T
NiekRabelink 9da056b480 Add roadmap management feature with database schema and user management
- Implemented roadmap.php for displaying and managing roadmap items with filters for quarter and status.
- Created schema.sql to define the database structure for users, invites, daily plans, tasks, brainstorm sessions, brainstorm cards, roadmap items, and integrations.
- Developed users.php for admin panel to manage team members and invitations, including functionality to create and revoke invites.
2026-09-08 12:47:11 +02:00

4.4 KiB

Fociz — Focus, Dagplanning, Brainstorm & Roadmap Systeem

Fociz is een compleet, modern webplatform gebouwd in PHP 8 & MariaDB voor dagplanning, werkstructurering, interactieve brainstormsessies die met één klik omgezet kunnen worden in een roadmap, en koppelingen met Outlook, Teams en Jira.


🔒 Beveiliging & Toegangsbeheer

  • Strikt afgesloten: Geen openbare registratie. Enkel toegankelijk na inloggen met tweetrapsauthenticatie (2FA).
  • First-run Admin Setup (/auth/setup.php):
    • Bij het allereerste gebruik detecteert Fociz automatisch dat er nog geen beheerder bestaat en start de setup wizard.
    • De beheerder voert naam, e-mail en wachtwoord in en scant de 2FA QR-code met bijv. Google Authenticator, Microsoft Authenticator of 1Password.
    • Na verificatie van de 6-cijferige code wordt de beheerder opgeslagen en wordt /auth/setup.php definitief vergrendeld.
  • Invite-only Registratie (/auth/invite.php?token=...):
    • Nieuwe collega's kunnen enkel toetreden met een unieke uitnodigingslink aangemaakt door de beheerder (/users.php).
    • Dwingt direct het instellen van een wachtwoord en 2FA-registratie af.
  • Inloggen (/auth/login.php):
    • Stap 1: E-mailadres & wachtwoord (password_hash / password_verify).
    • Stap 2: 6-cijferige TOTP verificatiecode (of herstelcode).

🚀 Kernmodules

  1. Dagplanning & Focus (/planner.php):

    • Dagdoel: Leg uw nummer 1 focuspunt van de dag vast met één klik.
    • Focus Modus: Ingebouwde Pomodoro/Stopwatch timer (25 min Focus, 50 min Deep Work, 5 min Pauze) met visuele voortgang en taakselectie.
    • Dagtaken & Prioriteiten: Taken indelen op prioriteit (P1 Brandend, P2 Belangrijk, P3 Regulier), snel toevoegen en afvinken.
    • Tijdlijn & Time-blocking: Uuroverzicht (08:00 - 18:00) met time-blocking voor taken en gesynchroniseerde Outlook meetings.
    • Dagnotities: Snel kladblok voor reflecties en memo's.
  2. Brainstorm Canvas (/brainstorm.php & /brainstorm_canvas.php):

    • Interactief whiteboard met sticky notes ingedeeld in 4 categorieën:
      • 💡 Ideeën & Concepten
      • ⚠️ Knelpunten & Uitdagingen
      • 🚀 Oplossingen & Features
      • ⚡ Quick Wins
    • Stemmen (upvoting) op ideeën.
    • Zet om naar Roadmap: Selecteer brainstormkaarten en zet ze direct om naar planbare roadmap-items met kwartaal, deadline en prioriteit.
  3. Roadmap & Tijdlijn (/roadmap.php):

    • Kwartaaloverzicht (Q1, Q2, Q3, Q4) en statussen (Gepland, In Uitvoering, In Review, Voltooid).
    • Voortgangsbalken (0 - 100%) en deadlines.
    • Gekoppeld aan de oorspronkelijke brainstormkaarten en optioneel Jira Issue Keys (bijv. FOC-101).
  4. Integraties Hub (/integrations.php):

    • Microsoft Outlook: Synchroniseert agenda-afspraken direct naar de dagplanning.
    • Microsoft Teams: Directe deelnamelinks naar online meetings en kanaalnotificaties.
    • Atlassian Jira: Issues synchroniseren en direct met één klik inplannen als dagtaak.
    • Sandbox / Demo Modus: Schakel met één vinkje tussen live productie en interactieve testdata.
  5. Team & Invites Beheer (/users.php - Admin only):

    • Genereer beveiligde uitnodigingslinks voor collega's met kopieerknop.
    • Overzicht van actieve gebruikers, rollen en 2FA-status.

🛠️ Installatie op uw Server

1. Bestanden uploaden

Push of upload alle bestanden naar de gewenste webdirectory op uw server (bijv. /var/www/fociz of public_html).

2. MariaDB Database configureren

Pas de databasegegevens aan in .env (of direct in config/config.php):

DB_HOST="127.0.0.1"
DB_PORT="3306"
DB_NAME="fociz"
DB_USER="uw_mariadb_gebruiker"
DB_PASS="uw_mariadb_wachtwoord"
APP_URL="https://uw-domein.nl"

3. Automatische Tabellen Aanmaak

U hoeft niet handmatig SQL-commando's uit te voeren: zodra u de website voor het eerst opent in uw browser, detecteert Fociz automatisch MariaDB en worden alle tabellen en relaties uit schema.sql vanzelf aangemaakt!

(Optioneel kunt u schema.sql ook zelf importeren via phpMyAdmin of de MariaDB CLI).

4. Eerste Beheerder Instellen

  1. Open uw browser en ga naar https://uw-domein.nl.
  2. U wordt automatisch doorverwezen naar /auth/setup.php.
  3. Vul uw naam, e-mailadres en gewenst wachtwoord in.
  4. Scan de QR-code met Google Authenticator of Microsoft Authenticator.
  5. Vul de 6-cijferige code in om te bevestigen.
  6. Klaar! U kunt nu direct inloggen en collega's uitnodigen.