Rank Party is a collaborative game where players rank items in a list with their friends. Each player votes on each item, scoring them from 0 to 10. At the end of the game, a table displays each item's score and its position in the list.
- Real-time Collaboration: Play with friends and rank items together.
- Flexible Scoring: Score each item from 0 to 10.
- Dynamic Results: View a table of results showing each item's score and rank.
- Responsive Design: Enjoy a seamless experience on both desktop and mobile devices.
- Bun as the package manager.
- npm for running specific scripts (only for the PartyKit development server).
- Vite for development and build processes.
-
Clone the repository:
git clone https://github.com/kakxem/rank-party.git cd rank-party
-
Install dependencies:
bun install
To start the development server, run:
bun run dev
To start the PartyKit development server, which requires npm (not Bun), run:
npm run dev:party
To build the app for production, run:
bun run build
To lint the codebase, run:
bun run lint
-
src/: Contains the main source code for the application.
- components/: Reusable UI components.
- hooks/: Custom React hooks.
- lib/: Utility functions and libraries.
- modules/: Feature-specific modules, such as game, lobby, and result.
- types.ts: TypeScript type definitions.
- App.tsx: The main application component.
- main.tsx: Entry point for the React application.
-
party/: Contains server-side logic for PartyKit.
- index.ts: Main server implementation.
- actions.ts: Helper functions for server actions.
-
public/: Static assets like images and icons.
-
package.json: Project metadata and dependencies.
-
tsconfig.app.json and tsconfig.node.json: TypeScript configuration files for the app and node environments.
-
README.md: Project documentation.
- Create or Join a Room: Start by creating a new room or joining an existing one with a room code.
- Vote on Items: Each player scores items from 0 to 10.
- View Results: Once all items are scored, view the results table showing scores and rankings.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License.
- Built with React, TypeScript, and Vite.
- Special thanks to oyoke23 for helping me with the project.