Skip to content

Commit 0712704

Browse files
committed
Update contribution docs + general housekeeping
1 parent 2ae24d3 commit 0712704

27 files changed

+461
-282
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ assignees: ''
77

88
---
99

10+
> [!NOTE]
11+
> Please stick to the template and provide as much detail as possible to help us diagnose and fix the issue.
12+
> Low effort bug reports will be closed.
13+
1014
**Describe the bug**
1115
A clear and concise description of what the bug is.
1216

@@ -23,11 +27,17 @@ A clear and concise description of what you expected to happen.
2327
**Screenshots**
2428
If applicable, add screenshots to help explain your problem.
2529

30+
**Logs**
31+
Add any relevant error logs. If it's an error in the browser, please include the browser console logs as well
32+
as what endpoints are being hit and what the response from the server is.
33+
2634
**Desktop (please complete the following information):**
2735
- OS: [e.g. iOS]
2836
- Browser [e.g. chrome, safari]
2937
- Version [e.g. 22]
3038

39+
or
40+
3141
**Smartphone (please complete the following information):**
3242
- Device: [e.g. iPhone6]
3343
- OS: [e.g. iOS8.1]
@@ -37,8 +47,5 @@ If applicable, add screenshots to help explain your problem.
3747
**Hi.Events Version and platform**
3848
Please state the version of Hi.Events you are using and what platform it is hosted on. Local, Docker etc.
3949

40-
**Logs**
41-
Add any relevant error logs
42-
4350
**Additional context**
4451
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/feature_request.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@ assignees: ''
77

88
---
99

10+
ℹ️ Please check if the feature you're requesting already exists in the project's roadmap or issues.
11+
1012
**Is your feature request related to a problem? Please describe.**
1113
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
1214

1315
**Describe the solution you'd like**
1416
A clear and concise description of what you want to happen.
1517

16-
**Describe alternatives you've considered**
17-
A clear and concise description of any alternative solutions or features you've considered.
18-
1918
**Additional context**
2019
Add any other context or screenshots about the feature request here.

CONTRIBUTING.md

+93-31
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,38 @@
11
# Contribution Guidelines for Hi.Events
22

3-
Thank you for your interest in contributing to Hi.Events! We welcome contributions from the community and are excited
4-
to collaborate with you to improve our event management and ticket-selling platform. Before you start, please read through
5-
these guidelines to ensure a smooth contribution process.
3+
Thank you for your interest in contributing to Hi.Events! We welcome contributions from the community and are excited to collaborate with you to improve our event management and ticket-selling platform. Before you start, please read these guidelines to ensure a smooth contribution process.
64

75
## Table of Contents
86

97
1. [How Can I Contribute?](#how-can-i-contribute)
10-
- [Reporting Bugs](#reporting-bugs)
11-
- [Suggesting Enhancements](#suggesting-enhancements)
12-
- [Pull Requests](#pull-requests)
8+
- [Reporting Bugs](#reporting-bugs)
9+
- [Suggesting Enhancements](#suggesting-enhancements)
10+
- [Pull Requests](#pull-requests)
1311
2. [Development Setup](#development-setup)
14-
3. [Style Guides](#style-guides)
15-
- [Coding Standards](#coding-standards)
16-
- [Commit Messages](#commit-messages)
17-
4. [License](#license)
12+
- [Style Guides](#style-guides)
13+
- [Coding Standards](#coding-standards)
14+
- [Commit Messages](#commit-messages)
15+
- [Translations](#translations)
16+
- [Backend](#backend)
17+
- [Frontend](#frontend)
18+
- [Database Changes](#database-changes)
19+
3. [License](#license)
1820

1921
## How Can I Contribute?
2022

2123
### Reporting Bugs
2224

23-
If you find a bug, please report it by opening an issue in our [GitHub repository](https://github.com/HiEventsDev/hi.events/issues).
24-
Include as much detail as possible to help us diagnose and fix the issue.
25+
If you find a bug, please report it by opening an issue in our [GitHub repository](https://github.com/HiEventsDev/hi.events/issues). Include as much detail as possible to help us diagnose and fix the issue.
2526

2627
### Suggesting Enhancements
2728

28-
We welcome suggestions for new features or improvements to existing functionality. To suggest an enhancement,
29-
please open an issue in our [GitHub repository](https://github.com/HiEventsDev/hi.events/issues) and provide a detailed description of the proposed
30-
enhancement and its benefits.
29+
We welcome suggestions for new features or improvements to existing functionality. To suggest an enhancement, please open an issue in our [GitHub repository](https://github.com/HiEventsDev/hi.events/issues) and provide a detailed description of the proposed enhancement and its benefits.
3130

3231
### Pull Requests
3332

34-
We accept pull requests for bug fixes, new features, and improvements.
33+
We accept pull requests for bug fixes, new features, and improvements.
3534

36-
Please open an issue or discussion before
37-
starting any significant work to ensure that your contribution aligns with the project's goals.
35+
⚠️ Please open an issue or discussion before starting any significant work to ensure that your contribution aligns with the project's goals.
3836

3937
To submit a pull request:
4038

@@ -43,7 +41,7 @@ To submit a pull request:
4341
3. Make your changes, ensuring that your code adheres to our coding standards.
4442
4. Commit your changes with a descriptive commit message.
4543
5. Push your changes to your forked repository.
46-
6. Open a pull request to our `develop` branch in the original repository.
44+
6. Open a pull request to the `develop` branch in the original repository.
4745

4846
Please ensure that your pull request includes:
4947

@@ -53,32 +51,96 @@ Please ensure that your pull request includes:
5351
- Tests for new functionality or bug fixes, if applicable.
5452
- A demo or screenshots, if the changes are visual.
5553

56-
Once you create a pull request, a CLA bot will automatically check if you have signed the Contributor License Agreement (CLA).
57-
Signing is as simple as leaving a comment on the pull request with the message `I have read the CLA Document and I hereby sign the CLA`.
58-
We require all contributors to sign the CLA to ensure that we have the necessary permissions to use and distribute your contributions.
54+
Once you create a pull request, a CLA bot will automatically check if you have signed the Contributor License Agreement (CLA). Signing is as simple as leaving a comment on the pull request with the message: `I have read the CLA Document and I hereby sign the CLA`. We require all contributors to sign the CLA to ensure that we have the necessary permissions to use and distribute your contributions.
5955

6056
## Development Setup
6157

6258
To set up the development environment for Hi.Events, follow the detailed instructions in our [Getting Started with Local Development guide](https://hi.events/docs/getting-started/local-development).
6359

64-
## Style Guides
60+
### Style Guides
6561

66-
### Coding Standards
62+
#### Coding Standards
6763

68-
Please ensure that your code is well formatted and does not contain commented out code or unnecessary whitespace. Make
69-
sure your variable names are descriptive and follow the conventions used in the existing codebase.
64+
Please ensure that your code is well-formatted and does not contain commented-out code or unnecessary whitespace. Use descriptive variable names that follow the conventions used in the existing codebase.
7065

7166
- Follow [PSR-12](https://www.php-fig.org/psr/psr-12/) coding standards for PHP.
7267
- Use ES6+ features for JavaScript and adhere to the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript).
7368
- For React components, follow the [React/JSX Style Guide](https://github.com/airbnb/javascript/tree/master/react).
7469

75-
### Commit Messages
70+
#### Commit Messages
7671

77-
- We don't adhere to any strict commit message format, but please ensure that your messages are clear and descriptive.
78-
- For guidelines, refer to [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
72+
We don't adhere to any strict commit message format, but please ensure that your messages are clear and descriptive. For guidelines, refer to [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
73+
74+
### Translations
75+
76+
#### Backend
77+
78+
Please wrap all translatable strings in the `__()` helper function. For example:
79+
80+
```php
81+
return [
82+
'welcome' => __('Welcome to Hi.Events!'),
83+
];
84+
```
85+
86+
#### Translation Commands
87+
88+
To extract messages from the codebase, use the following command:
89+
90+
```bash
91+
php artisan langscanner
92+
```
93+
94+
This will update the translation files in the `backend/lang` directory.
95+
96+
#### Frontend
97+
98+
[Lingui](https://lingui.dev/) is used for frontend translations. Please wrap all translatable strings in either the `t` function or `Trans` component. For example:
99+
100+
```jsx
101+
import { t } from '@lingui/macro';
102+
103+
const MyComponent = () => {
104+
return <div>{t`Welcome to Hi.Events!`}</div>;
105+
};
106+
```
107+
108+
#### Translation Commands
109+
110+
To extract messages from the codebase and compile translations, use the following commands:
111+
112+
```bash
113+
yarn messages:extract && yarn messages:compile
114+
```
115+
116+
To list all untranslated messages, run:
117+
118+
```bash
119+
cd frontend/scripts && ./list_untranslated_strings.sh
120+
```
121+
122+
### Database Changes
123+
124+
If you are making changes to the database schema, please update the migration files accordingly.
125+
126+
We use [Laravel Migrations](https://laravel.com/docs/master/migrations) to manage schema changes. Migration files should only contain schema changes and no logic.
127+
128+
To generate a new migration file, use:
129+
130+
```bash
131+
php artisan make:migration create_XXX_table
132+
```
133+
134+
After running the migration, update the Domain Objects with:
135+
136+
```bash
137+
php artisan generate-domain-objects
138+
```
139+
140+
This will update the Domain Objects in `backend/app/DomainObjects` based on the schema changes.
79141

80142
## License
81143

82-
By contributing to Hi.Events, you agree that your contributions will be licensed under the [AGPL-3.0 License](LICENSE).
144+
By contributing to Hi.Events, you agree that your contributions will be licensed under the [AGPL-3.0 License with additional terms](LICENSE).
83145

84-
Thank you for contributing to Hi.Events! If you have any questions, feel free to reach out to us.
146+
Thank you for contributing to Hi.Events! If you have any questions, feel free to reach out to us.

backend/lang/de.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -282,5 +282,6 @@
282282
"This attendee is not checked in": "Dieser Teilnehmer ist nicht eingecheckt",
283283
"Attendee does not belong to this check-in list": "Teilnehmer gehört nicht zu dieser Eincheckliste",
284284
"Attendee :attendee_name\\'s ticket is cancelled": "Das Ticket von Teilnehmer :attendee_name wurde storniert",
285-
"Check-in list is not active yet": "Die Check-in-Liste ist noch nicht aktiv"
286-
}
285+
"Check-in list is not active yet": "Die Check-in-Liste ist noch nicht aktiv",
286+
"The number of attendees does not match the number of tickets in the order": ""
287+
}

backend/lang/es.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -282,5 +282,6 @@
282282
"This attendee is not checked in": "Este asistente no está registrado",
283283
"Attendee does not belong to this check-in list": "El asistente no pertenece a esta lista de registro",
284284
"Attendee :attendee_name\\'s ticket is cancelled": "La entrada del asistente :attendee_name ha sido cancelada",
285-
"Check-in list is not active yet": "La lista de registro aún no está activa"
286-
}
285+
"Check-in list is not active yet": "La lista de registro aún no está activa",
286+
"The number of attendees does not match the number of tickets in the order": ""
287+
}

backend/lang/fr.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -282,5 +282,6 @@
282282
"This attendee is not checked in": "Ce participant n'est pas enregistré",
283283
"Attendee does not belong to this check-in list": "Le participant n'appartient pas à cette liste de pointage",
284284
"Attendee :attendee_name\\'s ticket is cancelled": "Le billet de l'participant :attendee_name a été annulé",
285-
"Check-in list is not active yet": "La liste d'enregistrement n'est pas encore active"
286-
}
285+
"Check-in list is not active yet": "La liste d'enregistrement n'est pas encore active",
286+
"The number of attendees does not match the number of tickets in the order": ""
287+
}

backend/lang/pt-br.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -282,5 +282,6 @@
282282
"This attendee is not checked in": "Este participante não fez check-in",
283283
"Attendee does not belong to this check-in list": "O participante não pertence a esta lista de check-in",
284284
"Attendee :attendee_name\\'s ticket is cancelled": "O ingresso do participante :attendee_name foi cancelado",
285-
"Check-in list is not active yet": "A lista de check-in ainda não está ativa"
286-
}
285+
"Check-in list is not active yet": "A lista de check-in ainda não está ativa",
286+
"The number of attendees does not match the number of tickets in the order": ""
287+
}

backend/lang/pt.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -282,5 +282,6 @@
282282
"This attendee is not checked in": "Este participante não fez check-in",
283283
"Attendee does not belong to this check-in list": "O participante não pertence a esta lista de check-in",
284284
"Attendee :attendee_name\\'s ticket is cancelled": "O ingresso do participante :attendee_name foi cancelado",
285-
"Check-in list is not active yet": "A lista de check-in ainda não está ativa"
286-
}
285+
"Check-in list is not active yet": "A lista de check-in ainda não está ativa",
286+
"The number of attendees does not match the number of tickets in the order": ""
287+
}

backend/lang/ru.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -297,5 +297,6 @@
297297
"This attendee is not checked in": "",
298298
"Attendee does not belong to this check-in list": "",
299299
"Attendee :attendee_name\\'s ticket is cancelled": "",
300-
"Check-in list is not active yet": ""
300+
"Check-in list is not active yet": "",
301+
"The number of attendees does not match the number of tickets in the order": ""
301302
}

backend/lang/zh-cn.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -282,5 +282,6 @@
282282
"This attendee is not checked in": "该参与者尚未签到",
283283
"Attendee does not belong to this check-in list": "该参与者不属于此签到列表",
284284
"Attendee :attendee_name\\'s ticket is cancelled": "参与者 :attendee_name 的票已被取消",
285-
"Check-in list is not active yet": "签到列表尚未激活"
286-
}
285+
"Check-in list is not active yet": "签到列表尚未激活",
286+
"The number of attendees does not match the number of tickets in the order": ""
287+
}

frontend/src/locales/de.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)