Skip to content

Vastjia89/D20atHand

Repository files navigation

D20 at Hand

D20 at Hand è una web application sviluppata come progetto di consegna per un corso di Web & App Development.
L’app è pensata come una console di supporto per il Dungeon Master di Dungeons & Dragons 5e, con l’obiettivo di sperimentare architetture frontend moderne e una gestione strutturata dello stato.

Il progetto è attualmente in fase didattica.
In futuro verrà esteso per diventare uno strumento realmente utilizzabile in sessione.


Scopo del progetto

Questo progetto nasce con finalità didattiche, per dimostrare la capacità di:

  • progettare un’app React strutturata
  • gestire stato locale e globale
  • integrare API REST esterne
  • creare interfacce complesse e riutilizzabili
  • organizzare il codice in modo scalabile

L’aspetto “D&D” è il contesto applicativo, scelto per rendere il progetto realistico e interessante.

🖼️ Screenshot

Encounter Manager

Encounter

Items

Items

Spells

Spells

Monsters

Monsters

Character Creator

Spells

Dice Roller

Dice Roller


Tech Stack

  • React + Vite
  • TypeScript
  • React Router
  • Context API + useReducer
  • D&D 5e APIhttps://www.dnd5eapi.co/
  • CSS custom (no framework UI)

Hook utilizzati

Hook Perché
useState Stato locale (form, input, UI)
useEffect Fetch API, persistenza su localStorage
useContext Accesso allo stato globale
useReducer Gestione di stato complesso (encounter, roster, settings)
useMemo Ottimizzazione liste e filtri
useCallback Stabilità delle funzioni
useRef Accesso DOM (dice roller, popup)

Struttura del progetto

src/
├── app/
│   ├── providers/
│   ├── state/
│   ├── router.tsx
│   └── App.tsx
│
├── features/
│   ├── roster/       # Creazione personaggi (PC / NPC / Mob)
│   ├── encounter/    # Gestione combattimenti
│   ├── monsters/
│   ├── spells/
│   └── items/
│
├── shared/
│   ├── api/
│   └── components/
│
├── styles/
│   ├── theme.css
│   └── layout.css
│
└── main.tsx

About

D20 at Hand è una web application sviluppata come progetto di consegna per un corso di Web & App Development. L’app è pensata come una console di supporto per il Dungeon Master di Dungeons & Dragons 5e, con l’obiettivo di sperimentare architetture frontend moderne e una gestione strutturata dello stato.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages