A modern, responsive web application for creating and managing Dungeons & Dragons 5th Edition characters. Built with React, TypeScript, and featuring a comprehensive dark fantasy design system.
- Character Creation: Step-by-step wizard for creating D&D 5e characters
- Character Management: Store and manage multiple characters
- Character Sheet: Interactive digital character sheets with all D&D 5e mechanics
- Dice Roller: Integrated dice rolling system with roll history
- D&D 5e Reference: Complete SRD content including spells, equipment, and rules
- Progressive Web App: Works offline with full functionality
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Dark Fantasy Theme: Immersive medieval fantasy design system
- Local Storage: Characters saved locally in browser
- Export/Import: Share characters via JSON files
- Frontend Framework: React 18 with TypeScript
- Styling: Tailwind CSS with custom design system
- State Management: React Context API
- Build Tool: Vite
- PWA: Vite PWA Plugin with Workbox
- Testing: Vitest and React Testing Library
- API Integration: Open5e API for D&D 5e SRD content
- Node.js 20+ and yarn
- Git
- Clone the repository:
git clone https://github.com/TheTechChild/dnd-character-builder.git
cd dnd-character-builder
- Install dependencies:
yarn install
- Start the development server:
yarn dev
- Open your browser and navigate to
http://localhost:5173
yarn dev
- Start development serveryarn build
- Build for productionyarn preview
- Preview production buildyarn test
- Run testsyarn lint
- Run ESLintyarn type-check
- Run TypeScript type checkingyarn precommit
- Run all checks (lint, type-check, tests)
dnd-character-builder/
├── src/
│ ├── components/ # React components
│ │ ├── ui/ # Reusable UI components
│ │ └── ... # Feature components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions and helpers
│ ├── design-system/ # Design tokens and theme
│ ├── types/ # TypeScript type definitions
│ └── App.tsx # Main app component
├── public/ # Static assets
├── tests/ # Test files
└── ... # Config files
The project features a comprehensive dark fantasy design system including:
- Custom color palette with medieval theme
- Fantasy-appropriate typography (Cinzel, Crimson Text)
- Themed UI components (buttons, cards, forms)
- Animated effects and transitions
- Responsive layouts
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Run precommit checks:
yarn precommit
- Commit your changes:
git commit -m "feat: add your feature"
- Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request
This project follows conventional commits:
feat:
- New featuresfix:
- Bug fixesdocs:
- Documentation changesstyle:
- Code style changes (formatting, etc)refactor:
- Code refactoringtest:
- Test additions or changeschore:
- Build process or auxiliary tool changes
- Pick an issue from the project board
- Create a feature branch from main
- Implement your changes
- Run
yarn precommit
to ensure code quality - Create a pull request referencing the issue
- Character export to PDF
- Campaign management
- Party features
- Homebrew content support
- Character backup/sync
- Mobile app versions
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Android)
This project is licensed under the MIT License - see the LICENSE file for details.
- D&D 5e SRD content provided by Open5e API
- D&D 5e content is provided under the OGL license by Wizards of the Coast
- Icons from Lucide Icons
- Fonts from Google Fonts
For questions or suggestions, please open an issue on GitHub.
Made with ⚔️ by TheTechChild