Skip to content

Latest commit

History

History
149 lines (112 loc) 路 3.17 KB

File metadata and controls

149 lines (112 loc) 路 3.17 KB

Contributing to gRPC NestJS React Tutorial

Thank you for your interest in contributing to this gRPC learning project! 馃帀

Project Maintainer

How to Contribute

1. Fork the Repository

Fork the project on GitHub and clone your fork locally:

git clone https://github.com/YOUR-USERNAME/grpc-nestjs-react-tutorial.git
cd grpc-nestjs-react-tutorial

2. Set Up Development Environment

Backend Setup:

cd backend
npm install
# Set up .env file with your database credentials
npm run start:dev

Frontend Setup:

cd frontend
npm install
npm run dev

3. Make Your Changes

For Backend Contributions:

  • Follow NestJS best practices
  • Add proper error handling
  • Update protocol buffers if needed
  • Test both gRPC and gRPC-Web endpoints
  • Follow TypeScript conventions

For Frontend Contributions:

  • Follow React best practices
  • Use TypeScript for type safety
  • Ensure responsive design
  • Test gRPC client functionality
  • Follow modern CSS practices

4. Testing

Backend:

npm run test
npm run test:e2e

Frontend:

npm run lint
npm run build

5. Commit Guidelines

Use clear, descriptive commit messages:

feat: add new gRPC method for user profiles
fix: resolve authentication token validation
docs: update README with new installation steps

6. Submit a Pull Request

  1. Push your changes to your fork
  2. Create a pull request with a clear description
  3. Include screenshots for UI changes
  4. Reference any related issues

Areas for Contribution

馃殌 Feature Enhancements

  • Add streaming gRPC methods
  • Implement real-time notifications
  • Add more authentication methods
  • Create additional services beyond auth

馃摉 Documentation

  • Improve README files
  • Add code comments
  • Create video tutorials
  • Write blog posts about gRPC concepts

馃悰 Bug Fixes

  • Fix reported issues
  • Improve error handling
  • Optimize performance
  • Enhance security

馃И Testing

  • Add unit tests
  • Create integration tests
  • Add end-to-end tests
  • Performance testing

Code Style

  • TypeScript: Use strict typing
  • ESLint: Follow project linting rules
  • Prettier: Code formatting
  • Comments: Document complex logic
  • Naming: Use descriptive variable names

Learning Resources

If you're new to gRPC, check out:

Getting Help

  • Open an issue for bugs or feature requests
  • Start a discussion for questions
  • Contact maintainer: @AnujSup

Code of Conduct

Please be respectful and inclusive. This project is for learning, so:

  • Be patient with beginners
  • Provide constructive feedback
  • Help others understand gRPC concepts
  • Maintain a welcoming environment

Recognition

Contributors will be recognized in:

  • README.md contributors section
  • Release notes
  • Project documentation

Happy Contributing! 馃幆

Your contributions help others learn gRPC and build better applications!