- Renamed auth-service to iam-service across various files for consistency. - Updated Dockerfiles, deployment configurations, and documentation to reflect the service name change. - Enhanced testing commands in documentation to point to the new iam-service. - Removed outdated auth-service files and configurations to streamline the project structure. - Improved bilingual documentation for clarity on the new service structure and usage.
2.0 KiB
2.0 KiB
Contributing Guide
Thank you for considering contributing to GoodGo Microservices Platform!
Development Workflow
Branch Strategy
We follow Git Flow:
main- Production-ready codedevelop- Integration branch for featuresfeature/*- New featuresbugfix/*- Bug fixeshotfix/*- Critical production fixes
Commit Convention
We use Conventional Commits:
feat: add login endpoint
fix: resolve token expiration issue
docs: update API documentation
refactor: restructure auth module
test: add unit tests for auth service
chore: update dependencies
ci: add GitHub Actions workflow
perf: optimize database queries
Pull Request Process
- Create feature branch from
develop - Implement changes with tests
- Run linter and tests locally
- Push and create PR
- CI/CD will auto-run checks
- Code review required
- Merge into
develop(auto-deploy to staging) - QA testing on staging
- Merge into
main(manual deploy to production)
Code Standards
- TypeScript: Strict mode enabled
- Linting: ESLint with shared config
- Formatting: Prettier
- Testing: Minimum 80% coverage
- Documentation: JSDoc for public APIs
Running Tests
# All tests
pnpm test
# Specific package
pnpm --filter @goodgo/iam-service test
# With coverage
pnpm --filter @goodgo/iam-service test:coverage
Code Review Checklist
- Code follows style guidelines
- Tests added/updated
- Documentation updated
- No console.logs or debug code
- Environment variables documented
- Breaking changes documented
Adding a New Service
- Copy
services/_templatetoservices/new-service - Update package.json name and dependencies
- Implement service logic
- Add tests
- Update documentation
- Create CI/CD workflow
Adding a New Package
- Create package in
packages/new-package - Add to workspace
- Export from index.ts
- Add tests
- Document usage
Questions?
Feel free to open an issue or contact the team.