/rox

:earth_africa: BeWelcome lets you share a place to stay, connect with travellers, meet up and find accommodation on your journey. It is and will always be a free, open source, non for profit, democratic community.

Primary LanguagePHPGNU General Public License v2.0GPL-2.0

Rox the software running BeWelcome.org 🌏

GitHub CI

A community-driven hospitality exchange network

Image of BeWelcome Startpage

Why this is incredible 😍

  • 🛌 Member profiles with focus on finding a place to stay
  • 🔎 Search members by map, location, username
  • 👬 Comment system to increase trust between each other
  • 📝 Forum and groups for discussions
  • 🚣🚴 Activities, galleries to show who you are
  • 🔧 Volunteer tools (safety, moderation, spam, rights member welcome tools and more)
  • 🌈 On page translation for 305 languages
  • 🙋💪 BeWelcome is people and volunteers Learn more

Join the team 👧👦👩👨

You like the idea? Development is only one way to contribute! Find out how to get active, including as designer, tester, translator, moderator, helping others and much more! 😍

Get your Rox development enviroment 💻

  1. 🎈 Set up you local development enviroment and fork the repository on Github.
  2. 🔍 Pick a good starter issue
  3. ✨ Create a pull request and @mention the people from the issue to review
  4. 🌞 Fix the remaining things during review
  5. 🎉 Wait for it being merged!

You probably want to get started by checking out the code in src/.

build/ is deprecated and the code needs to be rewritten in src/.

To make changes in Javascript bear in mind that the Webpack needs to process each change before it reflects on the site. It is a good idea to run yarn encore dev --watch which will keep updating files as you keep saving them.

Documentation

Documentation is in the doc tree and can be compiled using mkdocs:

$ mkdocs build

The result can then be accessed via doc/html/ in your cloned repository.

Procedure

If you see an updated composer.json or composer.lock make sure to run

composer install --prefer-dist --no-progress --no-interaction --no-scripts

Also run

yarn install --frozen-lock

everytime you see a change in either package.json or yarn.lock.

If any .scss file or a file in assets/ changed a make build is necessary.

Useful links

Coding standards

To ensure coding standards are followed run make everytime before you commit. Fixing coding standard issues can be achieved with

make phpcsfix

twice in a row.