Thank you for considering contributing to neuland.app-native!
To contribute, please follow these guidelines:
-
Fork the repository and clone it to your local machine.
-
Install the required software:
- Visual Studio Code
- Xcode (for iOS development, macOS only)
- Android Studio (for Android development)
-
Install the required dependencies:
- Node.js 18 LTS or higher
- Bun or simply use npm or yarn
- Watchman (for Linux or macOS users)
-
In addition is recommended to use the ESLint and Prettier extensions for your IDE to get real-time feedback on your code.
-
Install project dependencies by running the following command in the project directory:
bun install
-
Setup the emulator
Android (Windows, macOS, and Linux):
- Follow the official guide to set up the Android emulator.
iOS (macOS only):
- Follow the official guide to set up the iOS simulator.
-
Create a development build for your desired platform.
bun ios bun android
Note
Step 7 is required every time the dependencies are updated.
-
Create a new branch from your fork to contribute to the project. Use a descriptive branch name.
-
Make your changes and ensure that the code follows our coding style and conventions.
-
Run the app locally with Expo by running the following command in the project directory:
bun start
This allows you to run the app one the previously created development build. Expo Go is not supported for development.
- Commit your changes to your branch. To ensure descriptive commit messages, we recommend using the Angular commit message style for your commit messages.
- Create a pull request from your branch to the develop branch of this repository.
- Provide a clear and descriptive title and description for your pull request, summarizing the changes you made.
- Once your pull request is submitted, our team will review your changes and provide feedback or request further modifications if needed.
Details on the Angular commit message style
<type>(<scope>): <short summary>
│ │ │
│ │ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│ │
│ └─⫸ Commit Scope: animations|bazel|benchpress|common|compiler|compiler-cli|core|
│ elements|forms|http|language-service|localize|platform-browser|
│ platform-browser-dynamic|platform-server|router|service-worker|
│ upgrade|zone.js|packaging|changelog|docs-infra|migrations|
│ devtools
│
└─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test
-
Follow the existing code style and conventions used in the project.
-
Use meaningful variable and function names to improve code readability.
-
Document your code when necessary using inline comments.
-
Follow the existing code style and conventions used in the project.
-
Use meaningful variable and function names to improve code readability.
-
Document your code when necessary using inline comments.
We use the Husky git hook to automatically fix commits according to ESLint rules and format them using Prettier. But you can also run these commands manually:
bun lint
to check for linting errorsbun lint:fix
to automatically fix linting errorsbun format
to format the code using Prettier
- Feel free to open an issue if you encounter a bug or want to suggest an improvement.
- For questions or more general concerns, create a thread in the discussion tab.