Thank you for your interest in contributing to the UPI Payment Gateway project! We welcome contributions from the community and are grateful for any help you can provide.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/iamaanahmad/free-upi-payment-gateway.git cd free-upi-payment-gateway - Add upstream remote to stay in sync:
git remote add upstream https://github.com/Centre-for-Information-Technology-India/upi-pg.git
- Create a branch for your feature:
git checkout -b feature/your-feature-name
- Node.js 18.x or higher
- npm or yarn package manager
- Git
# Install dependencies
npm install
# Set up environment variables (copy .env.example to .env.local)
cp .env.example .env.local
# Start development server
npm run devnpm run dev # Start development server
npm run build # Build for production
npm run typecheck # Run TypeScript type checking
npm run lint # Run ESLint
npm test # Run tests- Follow the existing code style in the repository
- Use TypeScript for type safety
- Write clear, descriptive commit messages
- Keep components small and focused
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that don't affect code meaning (formatting, etc)refactor: Code change that neither fixes a bug nor adds a featuretest: Adding or updating testschore: Changes to build process or dependencies
Example:
feat(payment): add dynamic amount input for flexible payments
- Allow users to enter custom amounts when no fixed amount is set
- Regenerate QR code in real-time as amount changes
- Disable pay button until valid amount is entered
Fixes #123
-
Sync with upstream:
git fetch upstream git rebase upstream/main
-
Push your branch:
git push origin feature/your-feature-name
-
Create a Pull Request:
- Go to the original repository on GitHub
- Click "New Pull Request"
- Select your fork and branch
- Write a clear PR description following the template
- ✅ Tests pass (
npm test) - ✅ Type checking passes (
npm run typecheck) - ✅ No linting errors (
npm run lint) - ✅ Documentation is updated if needed
- ✅ Commit messages are clear and descriptive
- ✅ Changes follow the code style guidelines
- Use GitHub Issues to report bugs
- Include steps to reproduce
- Provide screenshots or error logs if possible
- Discuss major features in issues before implementation
- Consider backward compatibility
- Think about performance implications
- Improve README or other docs
- Fix typos or unclear explanations
- Add examples or tutorials
- Write tests for new features
- Improve test coverage
- Help with integration testing
All submissions are reviewed by maintainers. During the review:
- We may ask for changes or clarifications
- We'll provide constructive feedback
- Approval means your code is ready to merge
- Check existing issues and discussions
- Ask in the GitHub Discussions section
- Open an issue with your question
By contributing to this project, you agree that your contributions will be licensed under the same license as the project (MIT License).
Contributors will be recognized in:
- README.md contributors section
- Commit history
- Release notes
Thank you for helping make UPI Payment Gateway better! 🙏