Skip to content

Commit 3eeda89

Browse files
committed
chore(docs): add developer guide for contributors
1 parent 9b166f6 commit 3eeda89

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

DEVELOPER_GUIDE.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Developer guide
2+
3+
We're glad you're interested in contributing to our project! This guide will help you get started with the development
4+
process.
5+
6+
## Getting Started
7+
8+
[Fork the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)
9+
and [clone it](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) to your
10+
local machine.
11+
12+
### Prerequisites
13+
14+
The preferred way is to use [Docker](https://www.docker.com/get-started) and Make.
15+
16+
Alternatively, ensure you have the following installed:
17+
18+
- **PHP** You can know which version is required by checking the `composer.json` file.
19+
- **Composer** Dependency manager for PHP. [Get Composer](https://getcomposer.org/download/)
20+
21+
### Starting the Development Environment
22+
23+
If you're using Docker & Make, simply run:
24+
25+
```bash
26+
make start
27+
```
28+
29+
This command will build the docker image, start the container, and take you inside the container bash shell so that you
30+
can directly run commands.
31+
32+
### Installing Dependencies
33+
34+
Inside the docker container or your local environment, run:
35+
36+
```bash
37+
composer install
38+
```
39+
40+
### Running Code Quality Tools
41+
42+
To ensure the code quality and CI compliance, we are using the following tools:
43+
44+
#### PHPUnit for testing
45+
46+
To run the full test suite, execute:
47+
48+
```bash
49+
composer test
50+
```
51+
52+
#### PHP CS-Fixer for code style
53+
54+
To check and fix code style issues, run:
55+
56+
```bash
57+
composer cs-fix
58+
```
59+
60+
#### Psalm for static analysis
61+
62+
To perform static analysis, run:
63+
64+
```bash
65+
composer psalm
66+
```
67+
68+
## Code Contribution Guidelines
69+
70+
When I (Dhemy) started this project, like any developer, I had my own coding style and preferences. Over time, I
71+
acquired more knowledge and experience; additionally PHP itself evolved. As a result, the codebase might reflect a mix
72+
of styles and practices.
73+
74+
Currently, We are following the principles
75+
of [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html).
76+
See [this issue](https://github.com/imdhemy/google-play-billing/issues/236) for the current state of the codebase and
77+
the planned improvements.
78+
79+
## Pick your work
80+
81+
The best way to start contributing is to check the issues list. Pick an issue that interests you and start working on
82+
it. If you didn't find any issue, you can always propose new features or improvements by opening a new issue.
83+
84+
## Weekly meeting
85+
86+
We have a weekly meeting every Friday at 16:00 Berlin time. Feel free to join us
87+
on [Google Meet](https://meet.google.com/zgo-wtpp-jfh) to discuss the ongoing
88+
work and any questions you might have.

0 commit comments

Comments
 (0)