Hello 👋 and welcome to דאטאבוס, a project of hasadna!
We glad to see you decided to contribute to our project!
Join our discord to get connected with the project's development team.
You welcome to explore the list of project's issues.
See the "Good first issue" label!
Pick an issue from our milestones!
Look at the project and if you see some points which can be improved (it can be unclear documentation as well as UI or backend problem) - you welcome to add an issue to the project issues (which considers a contribution too)
For start working on the project you can use any of options from the below:
- You can set up project locally. This is highly recommended for regular/repeat contributions. This setup allows you to work and test your changes.
- Use Gitpod, a free online dev environment. Clicking the link below will start a ready-to-code dev environment in your browser. It only takes a few minutes.
Click here to open project in Gitpod
Follow these steps to run the project on your local machine:
-
DONT Fork the Repository! While you can create a fork and submit your pull requests from it, it's really not recommended. Creating your branch and pull request directly from within the repository will allow our automation pipeline to make a live preview of your contribution and run visual tests against your branch using repository secrets. Just ask, and we will happily grant you write permissions to this repo.
-
Clone the Repository: Clone the repository to your local machine. You can do this by running the following command in your terminal:
git clone https://github.com/hasadna/open-bus-map-search.git
-
Navigate to the Project Directory: Once the repository is cloned, navigate to the project directory by running:
cd open-bus-map-search
-
Install Dependencies: The project uses npm to manage dependencies. Once Node is installed, you can install the project dependencies by running:
npm install
-
Run the Project: After all dependencies are installed, you can start the project by running:
npm start
The project should now be running on your local machine. Open your web browser and navigate to http://localhost:3000 to view the project.
- If you're new to GitHub, here is a tutorial describing Pull Requests.
- create a branch
- branch better to be named after issue (or feature) it tries so solve, e.g.
feat/add-close-button-to-modal
- Please make sure that the project works on your computer
- do changes and then - do commit (
git commit -m "feat: add some feature"
) - push the branch to remote repo (
git push
) - go to the repo and create a pr (by pressing
create a pr
button) - tag one of the maintainers as reviewers
- commit messages better to be short and explain clearly what the change is about
fix
change that tries to fix some bug, e.g.fix: make close button visible at mobile
feat
change that add some new functionality, e.g.feat: add a modal component
docs
change that adds some documentation, e.g.docs: add project description at readme
refactor
change that makes the code better, e.g.refactor: split App component to subcomponents
chore
all the other thingschore: upgrade react package to new 18 version
command | description |
---|---|
npm run test:unit |
Run the unit tests using watch option (good for development). |
npm run test:unit:ci |
Run the unit tests (good for ci). |
npm run test:e2e |
Run the e2e (playwright) tests (good for ci). |
npm run test:e2e:ui |
Run the e2e (playwright) tests with user interface. |
npm run test |
Run all the kind of tests. |
- additional helpful flags - https://playwright.dev/docs/test-cli
This section provides video tutorials for some of the key pages in this project.
Dashboard & Maps Pages
Bug Reporting
- Video: How to Report Bugs
we're here to help! feel free to join our Slack channel
- the API client
- the data API
The client is a JS library that provides methods and data models. for example:
https://github.com/hasadna/open-bus-map-search/blob/main/src/model/busStop.ts#L4
link to repo.
The API is backend code that provides us with data and aggregations from the DB
You can see it's endpoints here:
https://open-bus-stride-api.hasadna.org.il/docs
link to repo.
- lint - you have lint errors. fix them by running
npm run lint:fix
- tests - you have test errors. see them by running
npm run test:unit:ci
- build - you have build errors. see them by running
npm run build
- pr title validation - you have an invalid pr title. please edit the title of your PR with conventional commit formatting. examples:
feat: add new feature
,fix: fix a bug
ordocs: update README.md