This document is a set of guidelines to help you contribute to this project. Feel free to suggest changes to this document in a Pull Request.
This project and all those who participate in it are governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
Bugs are tracked as GitHub Issues. When creating an issue, explain the problem and include additional details to help maintainers reproduce the issue:
- Use a clear and descriptive title.
- Describe the exact steps to reproduce the problem.
- Describe the behavior you observed and what you expected.
- Add screenshots or a video if possible.
Suggestions for improvements are also logged as GitHub Issues.
- Use a clear and descriptive title.
- Provide a step-by-step description of the suggested improvement.
- Explain why this improvement would be useful for most users.
- Fork the repository and clone it locally.
- Create a branch for your edit:
git checkout -b my-new-feature. - Make your changes and commit:
git commit -m 'feat: add some feature'. - Push to the original branch:
git push origin my-new-feature. - Create a Pull Request.
To ensure your code follows the project's standards and passes the CI pipeline, please run the following commands before submitting your Pull Request.
- We must use assertj library (we use it already in the project) for assertions.
- The test naming must be
should_expectedBehavior_when_stateUnderTestexample:should_throwException_when_ageLessThan18.
Run the following command to clean, format, and package the application:
./mvnw clean packageThis command will trigger the impsort and formatter plugins to ensure your imports and code style are correct.
Navigate to the frontend directory (timeless-api/src/main/webui) and run the code style check:
cd timeless-api/src/main/webui
npm run prettier:writeNavigate to the directory (timeless/whatsapp) and run the code style check:
cd timeless/whatsappAnd run the code style check:
npm run prettier:writeThis script will check and apply the correct code style to your frontend code.
To run this project, you will need:
-
JDK 21 or higher.
-
Maven (optional, as the project includes the
mvnwwrapper).
Clone the repository:
git clone https://github.com/your-github-profile/timeless
cd timelessTo start Quarkus's development mode (dev mode), which allows live reload:
Linux/macOS:
./mvnw quarkus:devWindows:
mvnw.cmd quarkus:devThe site will be available at http://localhost:8080.
- Use the Conventional Commits format.
- Use the imperative mode in the subject ("Add feature" and not "Adding feature").
- The first line must have a maximum of 50 characters.
- Reference issues and pull requests liberally after the first line.