Thank you for your interest in contributing to CodeCafé! We're excited to have you join our mission to make collaborative coding more accessible and seamless.
- Git
- Java JDK 23+ and Maven
- Node.js 18+ and npm 9+
- Redis Server (or Docker for containerized setup)
git clone https://github.com/YOUR_USERNAME/codecafe.git
cd codecafe
docker-compose upgit clone https://github.com/YOUR_USERNAME/codecafe.git
cd codecafe
# Start Redis
redis-server &
# Server setup
cd server
echo "spring.redis.host=localhost
spring.redis.port=6379" > src/main/resources/application.properties
./mvnw install
./mvnw spring-boot:run &
# Client setup
cd ../client
echo "VITE_BACKEND_URL=http://localhost:8080" > .env
npm install
npm run dev- Fork the repository and create a feature branch:
git checkout -b feature/your-feature-name - Make your changes following our development guidelines below
- Test thoroughly - especially real-time collaboration with multiple browser windows
- Submit a pull request with a clear description of your changes
- Use functional components with hooks
- Zustand for global state, local state for component-specific data
- Tailwind CSS for styling
- Maintain TypeScript strict type safety
- Run
npm run lintandnpm run formatbefore committing
- Follow standard Java conventions
- Maintain clean separation between controllers, services, and repositories
- Add JavaDoc comments for public methods
- Use proper exception handling
Use conventional commits format:
feat: add user authentication system
fix: resolve WebSocket connection issues
docs: update API documentation
# Client
cd client && npm test
# Server
cd server && ./mvnw testManual Testing Checklist:
- Test real-time collaboration with multiple browser windows
- Verify WebSocket connections work correctly
- Test the integrated terminal and web preview
When reporting bugs or requesting features:
- Provide a clear description
- Include steps to reproduce (for bugs)
- Mention your browser/OS if relevant
- Add screenshots if helpful
- Enhanced Chat Features
- Performance Improvements
- Accessibility & Mobile Responsiveness
- Create a GitHub issue with the "question" label
- Check existing documentation in README.md
Thanks for contributing to CodeCafé!