A comprehensive, searchable database for Elden Ring: Nightreign items, stats, effects, and more.
A live demo is available at: nightreign.karan.myds.me
- Automatic Excel Loading: Loads the Nightreign data file automatically on startup
- Flexible Search: Search across all sheets and columns with real-time results
- Dynamic Cards: Results display all columns from matched rows, adapting to different data structures
- Category Filtering: Filter by Talismans, Weapons, Relics, Dormant Powers, Stats, and more
- Dark Theme: Beautiful dark UI with amber accents
- Docker Support: Easy deployment with Docker and docker-compose
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3383 in your browser
-
Build and run with docker-compose:
docker-compose up --build
-
Access at http://localhost:3383
Or build manually:
docker build -t nightreign-dashboard .
docker run -p 3383:80 nightreign-dashboardnightreign-dashboard/
├── public/
│ └── nightreign-data.xlsx # Excel data file
├── src/
│ ├── components/ # React components
│ │ ├── DataCard.jsx
│ │ ├── SearchBar.jsx
│ │ ├── CategoryFilter.jsx
│ │ ├── Header.jsx
│ │ └── FileUploader.jsx
│ ├── hooks/
│ │ └── useExcelData.js # Excel loading hook
│ ├── utils/
│ │ ├── excelParser.js # Excel parsing logic
│ │ └── searchEngine.js # Search functionality
│ ├── styles/
│ │ └── index.css # Global styles
│ ├── App.jsx # Main app component
│ └── main.jsx # Entry point
├── Dockerfile
├── docker-compose.yml
└── package.json
- "attack power frost" - Find all items/effects related to frost attack power
- "starting weapon deals" - Find relic effects for starting weapons
- "talisman" - Find all talisman-related entries
- Partial matches - Any substring will match
- Search is case-insensitive
- Results show all columns from the matched row
- Highlighted search terms in results
- Category filtering to narrow down results
- Manual file upload to replace data on the fly
- React 18 - UI framework
- Vite - Build tool and dev server
- Tailwind CSS - Styling
- SheetJS (xlsx) - Excel file parsing
- Lucide React - Icons
- Docker - Containerization
- Nginx - Production web server
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run docker:build- Build Docker imagenpm run docker:up- Start with docker-composenpm run docker:down- Stop docker-compose
The Excel file contains multiple sheets with varying columns:
- Relic Effects: Category, Relic Description, Effect, Stackable with self?, Notes
- Talisman Effects: Name, Effect In-Game, Effect, Notes
- Weapon Effects: Category, Effect Description In-Game, Effect, Stackable with self?, Notes
- Dormant Powers: Category, Dormant Power, Effect Description In-Game, Effect, Notes
- Consumable Effects: Name, Effect In-Game, Effect, Duration, Notes
- Stats: Character and boss statistics
- And more...
Each card dynamically displays all available columns from the matched row.
See LICENSE file for details.
Data compiled from Elden Ring: Nightreign game information and from the Nightreign Relic Stat Spreadsheet I found here -
