Codenames is a mobile application built with React Native CLI that brings the popular board game "Codenames" to your smartphone. Enjoy the game with your friends and family anytime, anywhere.
- Create and join game rooms to play with friends.
- Two roles: Spymaster and Operative, with different permissions and responsibilities.
- Real-time communication between team members within the game room.
- Generate random word grids for each game.
- Score tracking and game progress indicators.
- Timer for turn-based gameplay.
- Clone the repository:
git clone https://github.com/firtysh/codenames.git
- Navigate to the project directory:
cd codenames
- Install the dependencies:
npm install
- Run the Metro bundler:
npm start
- For Android, open a new terminal window and run the following command:
npm run android
If the above command doesn't work, you can try the following alternative:
npm start -- --reset-cache
Then open a new terminal window and run:
npx react-native run-android
For iOS, open a new terminal window and run:
npx react-native run-ios
Please ensure you have the necessary development environment and tools set up for React Native and Android/iOS development. Refer to the official documentation of React Native and the respective platforms for more detailed setup instructions if needed.
-
Follow the installation instructions above to set up the project.
-
Once the app is running on your device or emulator, follow the on-screen instructions to create or join a game room.
- React Native
- React Navigation (for navigation between screens)
- Socket.io (for real-time communication)
Contributions to Codenames are welcome! If you find any bugs or have suggestions for new features, please open an issue or submit a pull request. Make sure to follow the project's code style and guidelines.
Codenames is open source and released under the MIT License. Feel free to use, modify, and distribute the code as per the terms of the license.
- The Codenames project is inspired by the board game "Codenames" designed by Vlaada Chvátil.
- Thanks to the React Native community and various open source libraries that have made this project possible.