A captivating web application that simulates the experience of reincarnation, offering users a chance to explore different life circumstances across various countries and social backgrounds.
- 🌍 Global Distribution: Experience reincarnation across different countries with an interactive world map
- 📊 Dynamic Statistics: Visualize social class and birthplace distributions through engaging charts
- 🎭 Special Events: Encounter unique life circumstances with random special event triggers
- 🌓 Dark/Light Mode: Seamlessly switch between dark and light themes
- 🔊 Sound Effects: Immersive audio feedback for user interactions
- 🌐 Multilingual: Support for English and Chinese languages
- 📱 Responsive Design: Optimized for both desktop and mobile devices
- 📤 Share Feature: Easy sharing of results through various platforms
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Animations: Framer Motion
- Charts: Chart.js with react-chartjs-2
- Maps: react-simple-maps
- Internationalization: i18next
- Theme: next-themes
- Node.js 18+ and npm
- Clone the repository
git clone https://github.com/ChanMeng666/journey-of-reincarnation2.git
cd journey-of-reincarnation2
- Install dependencies
npm install
- Run the development server
npm run dev
- Open http://localhost:3000 with your browser
npm run build
- Click the "Start Journey" button to begin your reincarnation experience
- View your new life circumstances including country, gender, social class, etc.
- Explore the world map to see your birth location
- Check the statistics to understand global distributions
- Share your results with friends
- Reincarnate again to experience different possibilities
src/
├── app/ # Next.js app directory
├── components/ # React components
│ ├── ui/ # UI components
│ └── layout/ # Layout components
├── contexts/ # React contexts
├── hooks/ # Custom hooks
├── i18n/ # Internationalization
├── lib/ # Utility functions
└── types/ # TypeScript types
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- 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 file for details.
Chan Meng
- LinkedIn: chanmeng666
- GitHub: ChanMeng666