We want to ensure that this Extend app template lives and continues to grow and evolve. We would like to encourage everyone to help and improve this repository by contributing.
- Table of Contents
- Getting Started
- Project Structure
- Pull Request
- Reporting Bugs
- Suggesting Enhancements
- Code of Conduct
- License
- References
Here are the required tools to build and run this application:
- Docker with Docker Compose
- Git
- A text editor or IDE of your choice
For language-specific requirements, refer to the README.md.
- Fork the repository
- Clone your fork locally:
git clone https://github.com/<your-username>/<repo-name>.git cd <repo-name>
- Set up environment variables by copying the sample
.envfile (if available):cp .env.sample .env
Build and run the application using Docker Compose:
docker compose up --buildFor more detailed instructions, refer to the README.md.
Refer to the README.md for a detailed explanation of the project structure and architecture.
We have precise rules over how our git commit messages and pull requests should be formatted. This leads to more readable messages that are easy to follow when looking through the project history.
There are types when creating a branch or pull request. The type must follow this rule:
- feat or feature: A new feature
- fix or hotfix: A bug fix
- refactor: A code change that neither fixes a bug nor adds a feature
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code (white-space, formatting, etc.)
- perf: A code change that improves performance
- test: Adding missing or correcting existing tests
- chore: Changes to the build process or auxiliary tools and libraries
Always create a branch from the default branch (master or main). Before creating the branch, make sure you are on the default branch.
- Sync your branch with the default branch before opening a pull request:
git checkout master git pull git checkout your-feature-branch git rebase master
- If there are conflicts during rebase, resolve them, then continue with
git rebase --continue.
When creating a pull request, please follow this pattern for the title:
type(scope): description
Example:
fix(auth): handle expired token gracefully
docs(readme): update setup instructions
feat(handler): add input validation
Additional guidelines:
- Clearly describe what the change does in the PR description
- Link related issues if applicable
- Ensure the app builds and tests pass
- Keep PRs small and focused — one concern per PR
Please note that this repository is maintained on a best-effort basis. Maintainers may take some time to review pull requests, so please be patient. If there is no response after a while, a polite follow-up comment is welcome.
Maintainers may request changes or improvements before merging.
If you find a bug:
- Check existing issues first to avoid duplicates
- Open a new issue if it hasn't been reported
- Include:
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, runtime version, etc.)
- Feature ideas and improvements are welcome!
- Open an issue describing your idea
- Explain the use case and why it's useful
- For larger changes, please discuss first before submitting a PR
Be respectful and constructive. This is a learning-focused repository, and everyone is here to help each other grow.
By contributing, you agree that your contributions will be licensed under the same license as this project.
- AccelByte Extend Overview
- Extend Override
- Extend Service Extension
- Extend Event Handler
- Docker Compose Documentation
- gRPC Documentation
If you've got more questions, feel free to open an issue or discussion. Happy contributing!