A comprehensive tool for Dungeon Masters and Players to manage their D&D 5e campaigns, characters, and sessions.
- Campaign creation and management
- Session scheduling and notes
- NPC and encounter management
- Custom loot tables
- Player invitation system
- Campaign setting documentation
- Character creation and management
- Digital character sheets
- Inventory tracking
- Spell management
- Session history
- Campaign notes
- Angular 18+
- AWS SDK v3
- AWS Lambda (Node.js 20.x)
- Amazon Cognito for authentication
- PostgreSQL for data storage
- API Gateway for RESTful endpoints
node -v # v20.x or higher
npm -v # 9.x or higher# Clone the repository
git clone https://github.com/12jihan/nat20.git
# Install dependencies
cd nat20
npm install
# Start development server
npm run startCreate a .env file with the following variables:
USER_POOL_ID=your_user_pool_id
USER_POOL_CLIENT_ID=your_client_id
IDENTITY_POOL_ID=your_identity_pool_id
DB_NAME=your_db_name
DB_HOST=your_host
DB_PORT=your_port
DB_USER=your_username
DB_PASSWORD=your_passwordPOST /users- Register new userPOST /login- User loginPOST /logout- User logoutGET /current_user- Get current user
POST /campaigns- Create campaignGET /campaigns/{id}- Get campaign detailsGET /campaigns- List user's campaigns
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details
- D&D 5e SRD for reference material
- AWS for cloud infrastructure
- The D&D community for inspiration
Project Link: https://github.com/12jihan/nat20