|
1 | | -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). |
| 1 | +# 🕵️ Guesspy |
2 | 2 |
|
3 | | -## Getting Started |
| 3 | +A social deduction party game built with Next.js where players try to identify the spy (or spies) among them Guesspy provides a fun, interactive experience for groups of friends. |
4 | 4 |
|
5 | | -First, run the development server: |
| 5 | +## 🎮 How to Play |
6 | 6 |
|
| 7 | +1. **Setup**: Gather at least 3 players (the more, the merrier!) |
| 8 | +2. **Configure**: Enter player names and set the number of spies |
| 9 | +3. **Assign Roles**: Each player secretly checks their card to see if they're a spy or not |
| 10 | +4. **Discuss**: Players have 2 minutes to ask questions and discuss to figure out who the spy is |
| 11 | +5. **Guess**: After the timer runs out, players vote on who they think the spy is! |
| 12 | + |
| 13 | +### Game Modes |
| 14 | + |
| 15 | +- **Local Game**: Play in person by passing a single device around |
| 16 | +- **Create Room** *(Coming Soon)*: Play remotely with friends online |
| 17 | + |
| 18 | +## ✨ Features |
| 19 | + |
| 20 | +- 🎲 Configurable number of spies (fixed or random) |
| 21 | +- ⏱️ 2-minute discussion timer with visual countdown |
| 22 | +- 🎨 Modern, clean UI with dark mode support |
| 23 | +- 📱 Responsive design - works on desktop and mobile |
| 24 | +- 🔒 Secret role assignment for each player |
| 25 | +- 🎭 Card reveal animations for that extra suspense |
| 26 | + |
| 27 | +## 🚀 Getting Started |
| 28 | + |
| 29 | +### Installation |
| 30 | + |
| 31 | +1. Clone the repository: |
| 32 | +```bash |
| 33 | +git clone https://github.com/yourusername/guesspy.git |
| 34 | +cd guesspy |
| 35 | +``` |
| 36 | + |
| 37 | +2. Install dependencies: |
| 38 | +```bash |
| 39 | +yarn install |
| 40 | +``` |
| 41 | + |
| 42 | +3. Run the development server: |
7 | 43 | ```bash |
8 | | -npm run dev |
9 | | -# or |
10 | 44 | yarn dev |
11 | | -# or |
12 | | -pnpm dev |
13 | | -# or |
14 | | -bun dev |
15 | 45 | ``` |
16 | 46 |
|
17 | | -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. |
| 47 | +4. Open [http://localhost:3000](http://localhost:3000) in your browser |
| 48 | + |
| 49 | +## 🛠️ Tech Stack |
18 | 50 |
|
19 | | -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. |
| 51 | +- **Framework**: [Next.js 15](https://nextjs.org/) with App Router and Turbopack |
| 52 | +- **Language**: TypeScript |
| 53 | +- **Styling**: Tailwind CSS 4 |
| 54 | +- **UI Components**: Radix UI primitives |
| 55 | +- **State Management**: Jotai |
| 56 | +- **Form Handling**: React Hook Form + Zod |
| 57 | +- **Icons**: Lucide React |
| 58 | +- **Code Quality**: Biome (linting & formatting) |
| 59 | + |
| 60 | +## 🏗️ Project Structure |
| 61 | + |
| 62 | +``` |
| 63 | +guesspy/ |
| 64 | +├── app/ |
| 65 | +│ ├── game/ |
| 66 | +│ │ ├── local/ |
| 67 | +│ │ │ ├── setup/ # Player setup page |
| 68 | +│ │ │ ├── play/ # Game play page with timer |
| 69 | +│ │ │ └── _store/ # Game state management |
| 70 | +│ │ └── _components/ # Shared game components |
| 71 | +│ ├── _primitives/ # UI primitives and components |
| 72 | +│ └── _lib/ # Utility functions |
| 73 | +├── public/ # Static assets |
| 74 | +└── package.json |
| 75 | +``` |
20 | 76 |
|
21 | | -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. |
| 77 | +## 🎯 Game Rules |
22 | 78 |
|
23 | | -## Learn More |
| 79 | +### Minimum Players |
| 80 | +At least **3 players** are required to start a game. |
24 | 81 |
|
25 | | -To learn more about Next.js, take a look at the following resources: |
| 82 | +### Number of Spies |
| 83 | +- Choose a fixed number of spies |
| 84 | +- Or enable "Random number of spies" for unpredictable fun! |
| 85 | + - ⚠️ Warning: With random mode, sometimes everyone might be a spy! |
26 | 86 |
|
27 | | -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. |
28 | | -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. |
| 87 | +### Discussion Time |
| 88 | +Players have **2 minutes** to: |
| 89 | +- Ask each other questions |
| 90 | +- Share suspicions |
| 91 | +- Build alliances |
| 92 | +- Identify the spy |
29 | 93 |
|
30 | | -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! |
| 94 | +## 🤝 Contributing |
31 | 95 |
|
32 | | -## Deploy on Vercel |
| 96 | +Contributions are welcome! Feel free to: |
| 97 | +- Report bugs |
| 98 | +- Suggest new features |
| 99 | +- Submit pull requests |
33 | 100 |
|
34 | | -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. |
| 101 | +--- |
35 | 102 |
|
36 | | -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. |
| 103 | +**Have fun playing Guesspy! 🎉** |
0 commit comments