Index - Documentazione Completa

Sistema completo per la gestione di progetti e ticketing multi-tenant

Panoramica Generale

Index è un sistema completo per la gestione di progetti che permette alle organizzazioni di organizzare il lavoro in team, gestire ticket, tracciare il tempo e integrarsi con servizi esterni come GitLab e GitHub. L'applicazione è progettata per essere la soluzione centrale per il project management di qualsiasi organizzazione, dalla startup alla grande azienda.

Multi-Team

Gestione di più team e progetti simultaneamente

Time Tracking

Tracciamento preciso del tempo speso sui progetti

Integrazioni

Connessione diretta con GitLab e GitHub

Sistema Multi-Tenant

L'applicazione è multi-tenant, il che significa che diverse organizzazioni possono utilizzarla mantenendo i loro dati completamente separati e sicuri. Ogni organizzazione opera in un ambiente isolato con le proprie configurazioni, utenti e progetti.

Vantaggi del Multi-Tenancy

  • • Isolamento completo dei dati tra organizzazioni
  • • Configurazioni personalizzate per ogni tenant
  • • Scalabilità e efficienza delle risorse
  • • Sicurezza e privacy garantite

Configurazioni Organizzazione

  • • Timezone personalizzato
  • • Valuta preferita
  • • Lingua dell'interfaccia
  • • Branding personalizzato

Isolamento Dati

  • • Database separati per tenant
  • • Autenticazione isolata
  • • Backup indipendenti
  • • Audit trail separati
Flusso di Onboarding

Il processo di onboarding è progettato per essere semplice ma completo. Quando un nuovo utente si registra, può entrare a far parte di un'organizzazione esistente tramite invito o crearne una nuova se è il primo amministratore.

1

Registrazione Iniziale

L'utente crea il proprio account con email e password o tramite OAuth

2

Scelta Organizzazione

Può unirsi a un'organizzazione esistente tramite invito o crearne una nuova

3

Configurazione Profilo

Completa il profilo con informazioni personali e preferenze

4

Assegnazione Ruolo

Riceve il ruolo appropriato nell'organizzazione (utente, manager, admin)

Ruoli nell'Organizzazione

Utente

Può lavorare sui propri ticket assegnati

Manager

Gestisce progetti e team

Amministratore

Controllo completo sull'organizzazione

Sistema di Inviti

Il sistema di inviti è centrale nell'applicazione e gestisce due tipi principali di inviti: quelli per entrare in un'organizzazione e quelli per partecipare a progetti specifici. Ogni invito è sicuro, tracciabile e ha una scadenza definita.

Inviti Organizzazione

  • • Inviati dagli amministratori
  • • Token unico con scadenza 7 giorni
  • • Email automatica con link di attivazione
  • • Possibilità di specificare il ruolo iniziale
  • • Tracciamento stato invito (inviato, accettato, scaduto)

Inviti Progetto

  • • Inviati dai manager di progetto
  • • Specifici per singoli progetti
  • • Definizione del ruolo nel progetto
  • • Notifica automatica ai partecipanti
  • • Gestione permessi granulare

Sicurezza degli Inviti

Ogni invito genera un token crittografato unico che viene invalidato dopo l'uso o alla scadenza. Il sistema traccia tutti i tentativi di accesso e notifica gli amministratori di attività sospette.

Gerarchia dei Dati

La struttura dei dati è organizzata come una piramide gerarchica che garantisce l'isolamento e l'ereditarietà dei permessi. Ogni livello eredita le autorizzazioni da quello superiore, assicurando che gli utenti vedano solo i dati della propria organizzazione.

Organizzazioni

Livello più alto - Isolamento completo tra tenant

Progetti

Appartengono a un'organizzazione - Gestiti da manager

Ticket

Appartengono a un progetto - Unità di lavoro operativa

Ereditarietà dei Permessi

  • • Gli utenti dell'organizzazione possono vedere tutti i progetti (se autorizzati)
  • • I membri del progetto possono vedere tutti i ticket del progetto
  • • I permessi si propagano verso il basso nella gerarchia
  • • Nessun accesso cross-tenant è possibile
Gestione Progetti

Ogni progetto rappresenta un'iniziativa specifica all'interno dell'organizzazione. I progetti hanno proprietà distintive, membri con ruoli definiti e un ciclo di vita completo che va dalla creazione al completamento.

Proprietà del Progetto

Nome e descrizione dettagliata
Stato (Attivo, Completato, In Pausa, Cancellato)
Colore personalizzato per l'UI
Date di inizio e scadenza

Ruoli nel Progetto

Proprietario
Controllo totale
Amministratore
Gestione completa
Membro
Accesso limitato

Stati del Progetto

Attivo
Completato
In Pausa
Cancellato
Sistema di Ticket

I ticket rappresentano il cuore operativo dell'applicazione. Ogni ticket è un'unità di lavoro specifica con proprietà dettagliate, stati personalizzabili e un sistema di priorità che aiuta i team a organizzare il lavoro in modo efficiente.

Proprietà del Ticket

Titolo e Descrizione

Informazioni dettagliate sul lavoro da svolgere

Priorità

Bassa, Media, Alta, Urgente

Assegnazione

Utente responsabile del completamento

Scadenza

Data limite per il completamento

Livelli di Priorità

Bassa
1
Media
2
Alta
3
Urgente
4

Sistema di Stati Flessibile

Ogni progetto può personalizzare completamente i propri stati oltre a quelli predefiniti, con colori specifici per facilitare il riconoscimento visivo.

Aperto
In Corso
Risolto
Chiuso
Collaborazione e Time Tracking

Il sistema di collaborazione permette ai membri del team di comunicare efficacemente e tracciare il tempo speso sui ticket. Questo facilita la coordinazione del lavoro e fornisce dati preziosi per la reportistica e la pianificazione futura.

Sistema di Commenti

  • • Commenti threaded per discussioni organizzate
  • • Menzioni di utenti con notifiche automatiche
  • • Allegati e screenshot integrati
  • • Cronologia completa delle conversazioni
  • • Formattazione rich text per chiarezza

Time Tracking

  • • Timer integrato per tracciamento in tempo reale
  • • Inserimento manuale del tempo speso
  • • Categorizzazione delle attività
  • • Report dettagliati per utente e progetto
  • • Esportazione dati per fatturazione

Vantaggi della Collaborazione Integrata

Reportistica

Dati precisi per analisi e pianificazione

Trasparenza

Visibilità completa sui progressi del team

Efficienza

Riduzione dei tempi morti e miglior coordinamento

Sistema di Notifiche Avanzato

Il sistema di notifiche è estremamente sofisticato e personalizzabile. Con oltre 25 tipi diversi di notifiche, ogni utente può configurare esattamente come e quando ricevere aggiornamenti sui progetti e ticket di interesse.

In-App

Notifiche immediate nell'interfaccia utente

Email

Digest personalizzati e notifiche immediate

Tipi di Notifiche Principali

Ticket & Progetti
  • • Creazione nuovo ticket
  • • Assegnazione ticket
  • • Cambio stato ticket
  • • Scadenza imminente
  • • Nuovo commento
  • • Aggiornamento progetto
Team & Organizzazione
  • • Nuovo membro team
  • • Invito progetto
  • • Cambio ruolo utente
  • • Attività sospette
  • • Backup completato
  • • Aggiornamenti sistema

Personalizzazione Completa

Ogni utente può configurare individualmente ogni tipo di notifica, scegliendo il canale preferito (in-app, email, push) e la frequenza (immediata, digest giornaliero, settimanale). Il sistema rispetta completamente le preferenze dell'utente.

Integrazioni Git

Le integrazioni Git permettono di collegare seamlessly il project management con lo sviluppo software. Gli sviluppatori possono mantenere sincronizzato il lavoro di coding con la pianificazione del progetto, creando un flusso di lavoro unificato.

Integrazione GitHub

  • • Autenticazione OAuth sicura
  • • Sincronizzazione repository
  • • Collegamento ticket ↔ issues
  • • Tracking commit e pull request
  • • Webhook per aggiornamenti automatici

Integrazione GitLab

  • • Connessione API completa
  • • Gestione progetti GitLab
  • • Sincronizzazione issue bidirezionale
  • • Merge request tracking
  • • Pipeline status integration

Flusso di Lavoro Integrato

1
Collegamento Account

L'utente autentica il proprio account Git tramite OAuth

2
Sincronizzazione Progetti

I repository vengono importati e collegati ai progetti Index

3
Collegamento Ticket-Issue

Ogni ticket può essere collegato a una o più issue Git

4
Sincronizzazione Automatica

Gli aggiornamenti si propagano automaticamente tra le piattaforme

Todos Personali

Oltre ai ticket di progetto, ogni utente dispone di un sistema di todos personali per gestire attività individuali, promemoria e task che non rientrano necessariamente in un progetto specifico ma sono importanti per la produttività personale.

Caratteristiche dei Todos

  • • Titolo e descrizione dettagliata
  • • Priorità personalizzabile (1-5)
  • • Data di scadenza opzionale
  • • Categorie e tag personalizzati
  • • Stato (da fare, in corso, completato)
  • • Note e allegati

Calcoli Automatici

  • • Todos in ritardo (scadenza passata)
  • • Todos in scadenza oggi
  • • Giorni rimanenti alla scadenza
  • • Statistiche di completamento
  • • Trend di produttività
  • • Reminder automatici

Dashboard Todos

3
In Ritardo
5
Scadono Oggi
12
Questa Settimana
28
Completati
Sistema di Autenticazione

Il sistema di autenticazione è progettato per essere sicuro, flessibile e user-friendly. Supporta sia l'autenticazione tradizionale che l'integrazione con provider OAuth esterni, garantendo sempre la massima sicurezza dei dati.

Metodi di Autenticazione

  • • Registrazione classica (email + password)
  • • OAuth con Google
  • • OAuth con GitHub
  • • OAuth con GitLab
  • • Single Sign-On (SSO) aziendale
  • • Autenticazione a due fattori (2FA)

Sicurezza e Tracking

  • • Token JWT sicuri con scadenza
  • • Refresh token automatici
  • • Tracking IP e User Agent
  • • Log di accesso dettagliati
  • • Rilevamento attività sospette
  • • Blocco automatico tentativi multipli

Sicurezza Avanzata

Ogni accesso viene tracciato con informazioni dettagliate (IP, browser, dispositivo, geolocalizzazione). Il sistema rileva automaticamente pattern di accesso anomali e può bloccare account compromessi, inviando notifiche immediate agli amministratori.

Interfaccia Utente

L'interfaccia utente è progettata per essere intuitiva, efficiente e completamente responsive. Ogni elemento è pensato per facilitare il lavoro quotidiano degli utenti, con particolare attenzione all'accessibilità e alla user experience.

Dashboard Principale

Il centro di controllo dell'applicazione che fornisce una panoramica completa delle attività e dei progetti dell'utente.

Sezione Sinistra
  • • Statistiche progetti (aperti, in corso, completati)
  • • Grafici di progresso settimanale/mensile
  • • Ticket assegnati con priorità
Sezione Destra
  • • Notifiche recenti e non lette
  • • Todos in scadenza
  • • Accesso rapido ai progetti preferiti

Gestione Progetti

Interfaccia dedicata alla visualizzazione e gestione di tutti i progetti dell'organizzazione.

Vista Griglia

Card progetti con statistiche

Analytics

Metriche e performance

Team

Gestione membri

Vista Ticket Kanban

Board interattiva dove i ticket sono organizzati per stato e possono essere trascinati tra le colonne per aggiornare il loro status.

Da Fare
5 ticket
In Corso
3 ticket
Review
2 ticket
Completato
8 ticket

Centro Notifiche

Dropdown accessibile dall'header che mostra tutte le notifiche recenti con possibilità di navigazione diretta al contenuto correlato.

Funzionalità
  • • Raggruppamento per tipo e data
  • • Marcatura come letto/non letto
  • • Filtri per categoria
  • • Link diretti al contenuto

Design System e Accessibilità

Responsive Design
  • • Layout adattivo per desktop, tablet e mobile
  • • Menu collassabile su schermi piccoli
  • • Touch-friendly su dispositivi mobili
  • • Ottimizzazione per diverse risoluzioni
Sistema di Colori
  • • Colori progetto per riconoscimento visivo
  • • Stati ticket con codifica cromatica
  • • Priorità visualizzate con colori distintivi
  • • Tema coerente in tutta l'applicazione
Flussi Utente Principali

I flussi utente rappresentano i percorsi più comuni che gli utenti seguono nell'applicazione. Ogni flusso è ottimizzato per essere efficiente e intuitivo, riducendo il numero di passaggi necessari per completare le attività più frequenti.

Manager: Creazione Nuovo Progetto

1
Accesso alla Gestione Progetti

Il manager naviga alla sezione progetti e clicca "Nuovo Progetto"

2
Configurazione Progetto

Inserisce nome, descrizione, colore e imposta le date del progetto

3
Invito Team Members

Seleziona i membri del team e definisce i loro ruoli nel progetto

4
Attivazione e Notifiche

Il progetto viene creato e tutti i membri ricevono notifiche di invito

Developer: Lavoro su Ticket

1
Selezione Ticket

Accede alla board Kanban e seleziona un ticket assegnato

2
Avvio Lavoro

Sposta il ticket in "In Corso" e avvia il timer per il time tracking

3
Aggiornamenti e Commenti

Aggiunge commenti sui progressi e registra il tempo speso

4
Completamento

Sposta il ticket in "Completato" e ferma il timer

Amministratore: Gestione Organizzazione

1
Accesso Pannello Admin

Naviga alle impostazioni organizzazione (solo per admin)

2
Invito Nuovo Utente

Inserisce email del nuovo utente e seleziona il ruolo iniziale

3
Invio Invito

Il sistema genera il token e invia l'email di invito automaticamente

4
Monitoraggio

Traccia lo stato dell'invito e riceve notifica quando viene accettato