Poke-a-Point is an Agile estimation tool built with React, TypeScript, and Vite. It allows teams to conduct estimation sessions using planning poker, enhancing collaboration and improving estimation accuracy.
- Frontend:
- React
- TypeScript
- Vite
- Material UI
- Socket.IO Client
- Backend:
- Node.js
- Express
- TypeScript
- Socket.IO
- Package Manager:
- pnpm
- Create and join estimation rooms.
- Real-time updates with Socket.IO.
- Auto-fill Room ID when joining via invite link.
- Vote anonymously and reveal votes when ready.
- Reset votes and toggle vote visibility.
- Responsive design with Material UI components.
- Node.js (version 14 or higher)
- pnpm (package manager)
npm install -g pnpm
-
Clone the repository:
git clone https://github.com/Keyurx11/Poke-a-Point.git
-
Navigate to the project directory:
cd Poke-a-Point
-
Install dependencies:
pnpm install
-
Start both backend and frontend servers concurrently:
pnpm run dev
-
Access the application:
Open your browser and navigate to
http://localhost:5173
.
-
Build the application:
pnpm run build
-
Start the backend server:
pnpm run start
-
Access the application:
Open your browser and navigate to
http://localhost:5000
.
-
Start Development Servers:
pnpm run dev
- Runs both frontend and backend in development mode with hot reloading.
-
Build Project:
pnpm run build
- Builds both frontend and backend for production.
-
Start Backend Server:
pnpm run start
- Starts the backend server from the built files.
Since the frontend is now served by the backend, you can deploy the entire application as a single service.
-
Build Command:
pnpm install --prod=false && pnpm run build
-
Start Command:
pnpm run start
-
Environment Variables:
- No additional environment variables are needed for URLs, as the frontend and backend are served from the same origin.
- Ensure any other necessary environment variables are set according to your deployment environment.
-
CORS Configuration:
- The backend is configured to allow requests from the same origin.
-
Serving Static Files:
- The backend serves the frontend build files from the
backend/dist/public
directory.
- The backend serves the frontend build files from the
- Routing Issue: Refreshing the page or manually entering a URL may cause routing issues due to client-side routing. This is resolved by the backend serving the
index.html
file for all unknown routes.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or new features.
This project is licensed under the MIT License.
- Inspired by agile teams needing efficient estimation tools.
- Built with the help of open-source libraries and the developer community.
Enjoy planning your sprints with Poke-a-Point!