diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..3bb9b11 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,115 @@ +# Code of conduct + +This code of conduct outlines our expectations for participants within the +Cycl'Assist community, as well as steps to report unacceptable behavior. We are +committed to provide a welcoming and inspiring community for all and expect +our code of conduct to be honored. Anyone who violates this code of conduct +may be banned from the community. + +Our open source community strives to: + +- Be friendly and patient. +- Be welcoming: We strive to be a community that welcomes and supports people + of all backgrounds and identities. This includes, but is not limited to + members of any race, ethnicity, culture, national origin, colour, + immigration status, social and economic class, educational level, sex, + sexual orientation, gender identity and expression, age, size, family + status, political belief, religion, and mental and physical ability. +- Be considerate: Your work will be used by other people, and you in turn will + depend on the work of others. Any decision you take will affect users and + colleagues, and you should take those consequences into account when making + decisions. Remember that we’re a world-wide community, so you might not be + communicating in someone else’s primary language. +- Be respectful: Not all of us will agree all the time, but disagreement is no + excuse for poor behavior and poor manners. We might all experience some + frustration now and then, but we cannot allow that frustration to turn into + a personal attack. It’s important to remember that a community where people + feel uncomfortable or threatened is not a productive one. +- Be careful in the words that we choose. Be kind to others. Do not insult or + put down other participants. Harassment and other exclusionary behavior + aren’t acceptable. +- Try to understand why we disagree: Disagreements, both social and technical, + happen all the time. It is important that we resolve disagreements and + differing views constructively. Remember that we’re different. The strength + of our community comes from its diversity, people from a wide range of + backgrounds. Different people have different perspectives on issues. Being + unable to understand why someone holds a viewpoint doesn’t mean that they’re + wrong. Don’t forget that it is human to err and blaming each other doesn’t + get us anywhere. Instead, focus on helping to resolve issues and learning + from mistakes. + + +## Definitions + +Harassment includes, but is not limited to: + +- Offensive comments related to gender, gender identity and expression, sexual + orientation, disability, mental illness, neuro(a)typicality, physical + appearance, body size, race, age, regional discrimination, political or + religious affiliation +- Unwelcome comments regarding a person’s lifestyle choices and practices, + including those related to food, health, parenting, drugs, and employment +- Deliberate misgendering. This includes deadnaming or persistently using a + pronoun that does not correctly reflect a person’s gender identity. You must + address people by the name they give you when not addressing them by their + username or handle +- Threats of violence, both physical and psychological +- Incitement of violence towards any individual, including encouraging a + person to commit suicide or to engage in self-harm +- Deliberate intimidation +- Stalking or following +- Harassing photography or recording, including logging online activity for + harassment purposes +- Sustained disruption of discussion +- Unwelcome sexual attention, including gratuitous or off-topic sexual images + or behaviour +- Pattern of inappropriate social contact, such as requesting/assuming + inappropriate levels of intimacy with others +- Continued one-on-one communication after requests to cease +- Deliberate “outing” of any aspect of a person’s identity without their + consent except as necessary to protect others from intentional abuse +- Publication of non-harassing private communication + +Our open source community prioritizes marginalized people’s safety over +privileged people’s comfort. We will not act on complaints regarding: + +- ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’ +- Reasonable communication of boundaries, such as “leave me alone,” “go away,” or “I’m not discussing this with you” +- Refusal to explain or debate social justice concepts +- Communicating in a ‘tone’ you don’t find congenial +- Criticizing racist, sexist, cissexist, or otherwise oppressive behavior or assumptions + + +## Diversity Statement + +We encourage everyone to participate and are committed to building a community +for all. Although we will fail at times, we seek to treat everyone both as +fairly and equally as possible. Whenever a participant has made a mistake, we +expect them to take responsibility for it. If someone has been harmed or +offended, it is our responsibility to listen carefully and respectfully, and +do our best to right the wrong. + +Although this list cannot be exhaustive, we explicitly honor diversity in age, +gender, gender identity or expression, culture, ethnicity, language, national +origin, political beliefs, profession, race, religion, sexual orientation, +socioeconomic status, and technical ability. We will not tolerate +discrimination based on any of the protected characteristics above, including +participants with disabilities. + +## Reporting Issues + +If you experience or witness unacceptable behavior—or have any other +concerns—please report it by contacting us via +phyks+[name of this project]@phyks dot me. All reports will be handled with +discretion. In your report please include: + +- Your contact information. +- Names (real, nicknames, or pseudonyms) of any individuals involved. If there + are additional witnesses, please include them as well. Your account of what + occurred, and if you believe the incident is ongoing. If there is a publicly + available record (e.g. a mailing list archive or a public IRC logger), + please include a link. +- Any additional information that may be helpful. + +We will respect confidentiality requests for the purpose of protecting victims +of abuse. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3096c3f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,63 @@ +Contributing +============ + +These are some infos which might be useful before contributing. + +## TL;DR + +We have a (rather standard) [code of conduct](CODE_OF_CONDUCT.md), please make +sure to review it prior to contributing. + +The main language for working on this project is English. French is fine as +well, if you are more comfortable speaking French. + +* Branch off `master`. +* One feature per commit. +* In case of changes request, amend your commit. + +New issues and merge requests are better at +[Framagit](https://framagit.org/phyks/cyclassist). + +You can contribute in many ways to Cycl'Assist, be it development, +translations or simply communicating around about this webapp! + +There is also an ongoing issue concerning the general UX and design of the +webapp. If you have any knowledge on these subjects and want to help, feel +free to comment [this issue](https://framagit.org/phyks/cyclassist/issues/42) +(in French or in English). + + +## Development setup + +The quickest way to get started is to simply run + +``` +API_BASE_URL=http://127.0.0.1:8081/ yarn dev +``` + +to spawn the client-side webapp, listening on `localhost:8080` and + +``` +python -m server +``` + +to spawn the server-side part, listening on `localhost:8081`. + + +## Useful scripts for dev + +You can run `scripts/gps_to_gpx.py` on your GPX trace to create a +`src/tools/mock_gpx.json` file ready to be used as a mocking source for the +position data (just edit the `src/constants.js` file accordingly). + + +## Translating + +Translation is done directly on [Zanata](https://translate.zanata.org/iteration/view/cyclassist/master?dswid=7345). + +To add new strings to localize, edit the `src/i18n/en.json` file with your new +strings (and only this file). Then, you can run `yarn push-locales` to send +the updated locales to translate and `yarn pull-locales` to fetch the +translated files. To use these scripts you will need the +Translate-toolkit(`pip install translate-toolkit`) and the [Zanata Python CLI +client](https://github.com/zanata/zanata-python-client). diff --git a/README.md b/README.md index 30ecbc6..de09191 100644 --- a/README.md +++ b/README.md @@ -142,37 +142,8 @@ latest one when you upgrade. ## Contributing -The quickest way to get started is to simply run - -``` -API_BASE_URL=http://127.0.0.1:8081/ yarn dev -``` - -to spawn the client-side webapp, listening on `localhost:8080` and - -``` -python -m server -``` - -to spawn the server-side part, listening on `localhost:8081`. - -### Useful scripts for dev - -You can run `scripts/gps_to_gpx.py` on your GPX trace to create a -`src/tools/mock_gpx.json` file ready to be used as a mocking source for the -position data (just edit the `src/constants.js` file accordingly). - - -## Translating - -Translation is done directly on [Zanata](https://translate.zanata.org/iteration/view/cyclassist/master?dswid=7345). - -To add new strings to localize, edit the `src/i18n/en.json` file with your new -strings (and only this file). Then, you can run `yarn push-locales` to send -the updated locales to translate and `yarn pull-locales` to fetch the -translated files. To use these scripts you will need the -Translate-toolkit(`pip install translate-toolkit`) and the [Zanata Python CLI -client](https://github.com/zanata/zanata-python-client). +Check out the [CONTRIBUTING.md](CONTRIBUTING.md) file for all the required doc +and details before contributing :) Any contributions more than welcome! ## License