9da056b480
- 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.
87 lines
4.4 KiB
Markdown
87 lines
4.4 KiB
Markdown
# 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`):
|
|
```env
|
|
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.
|
|
|