A comprehensive crafting guide and recipe visualizer for BitCraft, built with Next.js, React Flow, and TypeScript.
Got questions or feedback? Come say hi! Discord
- 🔍 Item Search: Search through all items, cargo, and resources in the game
- 📊 Recipe Visualization: Interactive flow diagrams showing crafting dependencies
- 🎯 Quantity Calculator: Calculate required materials for any desired output quantity
- 🌐 Internationalization: Multi-language support with next-intl
- 🎨 Modern UI: Built with shadcn/ui components and Tailwind CSS
- 📱 Responsive Design: Works on desktop and mobile devices
- Framework: Next.js 15 with App Router
- Language: TypeScript
- UI Components: shadcn/ui + Radix UI
- Styling: Tailwind CSS
- Flow Diagrams: React Flow (@xyflow/react)
- Layout Engine: Dagre.js
- Internationalization: next-intl
- Code Quality: ESLint, Prettier with organize-imports plugin
- Node.js 18+
- npm, yarn, or pnpm
- Clone the repository:
git clone <repository-url>
cd bitcraft.guide-web-next- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run format:check- Check code formatting without changesnpm run generate-samples- Generate sample datanpm run map-items- Map game items from server datanpm run map-items:sample- Map items with sample data
src/
├── app/ # Next.js App Router pages
│ └── [locale]/ # Internationalized routes
├── components/ # React components
│ └── ui/ # shadcn/ui components
├── data/ # Game data (items, recipes, etc.)
├── lib/ # Utility functions and types
├── scripts/ # Data processing scripts
└── styles/ # Global styles
The project uses game data from BitCraft's server files, including:
- Items, cargo, and resources
- Crafting recipes and requirements
- Building and tool information
Special thanks to @wizjany and the BitCraft ToolBox organization for providing access to the in-game database repositories that make this project possible.
This project uses:
- Prettier for code formatting with organize-imports plugin
- ESLint for code linting
- TypeScript for type safety
- Follow the existing component patterns using shadcn/ui
- Add proper TypeScript types in
src/lib/types.ts - Use the established import organization
- Test on both desktop and mobile
- Fork the repository
- Create a feature branch
- Make your changes
- Run
npm run formatandnpm run lint - Submit a pull request
This project is licensed under the MIT License.