106 lines
5.6 KiB
Markdown
106 lines
5.6 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).
|
|
|
|
---
|
|
|
|
## 🚦 Omgevingsindicator (Dev vs Live)
|
|
|
|
In de linkerbovenhoek van elk scherm bevindt zich een opvallende flashy badge met live radar-ping animatie:
|
|
- **Development (Rood)**: Knippert rood met de tekst `DEVELOPMENT (DEV)` zodat u direct ziet dat u op de test/dev omgeving werkt.
|
|
- **Live (Groen)**: Knippert groen met de tekst `LIVE (MAIN)` voor de productie-omgeving.
|
|
|
|
### Hoe in te stellen per omgeving:
|
|
In het bestand **`includes/env_badge.php`**:
|
|
- **Op DEV**: `$environment = 'development';` *(staat standaard al zo ingesteld)*
|
|
- **Op MAIN / LIVE**: `$environment = 'live';` *(of zet `APP_ENV="live"` in `.env`)*
|
|
|
|
---
|
|
|
|
## 🚀 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. **Mijn Profiel & Persoonlijke Koppelingen (`/profile.php`)**:
|
|
- **Microsoft Outlook & Teams**: Koppel met 1 klik uw persoonlijke werkagenda voor dagelijkse afsprakensynchronisatie en directe Teams meeting links.
|
|
- **Atlassian Jira**: Koppel uw persoonlijke Atlassian API token om aan u toegewezen tickets in te zien en in te plannen.
|
|
- **Browser Push Meldingen**: Configureer persoonlijke waarschuwingen (vooraankondigingstijd, herhalingsfrequentie, audio chime en live test).
|
|
- **Account & Beveiliging**: Wachtwoord wijzigen en 2FA beveiligingsstatus.
|
|
|
|
5. **Systeembeheer & Integraties Portaal (`/admin.php` - Admin only)**:
|
|
- Centrale Microsoft 365 Azure App Registratie (Client ID, Client Secret, Tenant ID, Admin Consent verlenen).
|
|
- Standaard Jira bedrijfsdomein voor alle teamleden.
|
|
- Systeem & Team Monitor (statistieken over actieve leden, agenda koppelingen en API-status).
|
|
- Extensibiliteit Hub voor toekomstige modules (AI Co-Pilot, werkdag standaarden).
|
|
|
|
6. **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://fociz.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 `config/schema.sql` vanzelf aangemaakt!
|
|
|
|
*(Optioneel kunt u `config/schema.sql` ook zelf importeren via phpMyAdmin of de MariaDB CLI).*
|
|
|
|
### 4. Eerste Beheerder Instellen
|
|
1. Open uw browser en ga naar `https://fociz.nl` (of `https://dev.fociz.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.
|
|
|