Thank you for your interest in contributing! This project is open-source and welcomes contributions from the community.
If you find a bug, please open an issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (Node version, AWS region, etc.)
Feature suggestions are welcome! Please open an issue with:
- Clear description of the feature
- Use case and problem it solves
- Proposed implementation (if you have ideas)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Write or update tests if applicable
- Update documentation as needed
- Commit with clear messages (
git commit -m 'Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
- Clone the repository:
git clone https://github.com/yourusername/aws-serverless-product-analytics.git
cd aws-serverless-product-analytics- Install dependencies:
pnpm install- Build all packages:
pnpm build- Run tests (when available):
pnpm testpackages/
├── cdk/ # Infrastructure (AWS CDK)
├── ingest-api/ # Event ingestion Lambda
├── event-processor/ # Event processing Lambda
└── tracking-script/ # Client-side tracking library
- TypeScript for all code
- Use Prettier for formatting (configured in project)
- Write clear, self-documenting code
- Add comments for complex logic or architectural decisions
- Follow existing patterns in the codebase
- Write unit tests for new features
- Test infrastructure changes in a sandbox AWS account
- Ensure all tests pass before submitting PR
- Update README.md if you change functionality
- Update ARCHITECTURE.md for architectural changes
- Add JSDoc comments for public APIs
- Include code examples for new features
Use clear, descriptive commit messages:
feat: add user authenticationfix: correct event timestamp parsingdocs: update deployment guiderefactor: simplify storage interfacetest: add tests for ingest API
- Maintainers will review your PR
- Address any feedback or requested changes
- Once approved, a maintainer will merge
Looking for ideas? Here are some areas that need help:
- Add comprehensive test suite
- Add CI/CD pipeline (GitHub Actions)
- Create query API for reading events
- Build simple dashboard UI
- Add authentication/authorization
- Create mobile SDKs (iOS, Android)
- Add data export features
- Improve error handling and logging
- Add CloudFormation alarms
- Create alternative storage backends (ClickHouse, S3)
- Performance optimizations
- Documentation improvements
Be respectful and constructive. This is a welcoming community.
By contributing, you agree that your contributions will be licensed under the MIT License.