Thank you for your interest in contributing to TalkWave! We welcome contributions from the community.
-
Fork the repository
-
Clone your fork
git clone https://github.com/your-username/TalkWave.git cd TalkWave -
Install dependencies
npm install
-
Set up environment
cp .env.example .env.local # Add your Firebase configuration -
Start development server
npm run dev
- Follow ESLint and Prettier configurations
- Use TypeScript with strict type checking
- Follow React best practices and hooks guidelines
- Maintain consistent naming conventions
- Follow the established clean architecture pattern
- Keep components focused and reusable
- Use custom hooks for business logic
- Implement proper error boundaries
- Write unit tests for new features
- Test components with React Testing Library
- Ensure all tests pass before submitting PR
- Use Firebase Realtime Database for real-time features
- Implement proper security rules
- Optimize database queries and listeners
- Handle offline scenarios gracefully
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow coding standards
- Add tests for new functionality
- Update documentation if needed
-
Commit your changes
git commit -m "feat: add your feature description" -
Push to your fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Provide a clear description of changes
- Reference any related issues
- Ensure all checks pass
When reporting bugs, please include:
- Steps to reproduce the issue
- Expected vs actual behavior
- Browser/device information
- Console errors (if any)
- Screenshots (if applicable)
For feature requests, please:
- Check if the feature already exists
- Provide a clear use case
- Explain the expected behavior
- Consider implementation complexity
bug- Something isn't workingenhancement- New feature or requestdocumentation- Improvements to docsgood first issue- Good for newcomershelp wanted- Extra attention needed
We're particularly interested in contributions for:
- Real-time messaging features
- UI/UX improvements
- Performance optimizations
- Firebase integration enhancements
- Mobile responsiveness
- Accessibility improvements
Feel free to open an issue for questions or join our discussions!
Thank you for contributing to TalkWave! 🌊