vas3k.club/CONTRIBUTING.md

3.7 KiB

How to contribute

Bug reports and pull requests from users are what keep this project working.

😍 Contributions are welcome

The main point of interaction is the Issues page.

We also run the public Github Project Board to track progress and develop roadmaps.

The official development language at the moment is Russian, because 100% of our users speak it. We don't want to introduce unnecessary barriers for them. But we are used to writing commits and comments in English and we won't mind communicating with you in it.

🙋‍♂️ How to report a bug or propose a feature?

  • 🆕Open a new issue.
    • 🔦 Please, use a search, to check, if there is already exied issue!
  • Explain your idea or proposal in all the details:
    • If it's a new feature:
      • 🖼 If it's UI/UX related: attach a screenshot or wireframe.
      • Please mark this issues with prefix "Фича:"
    • 🐞 If it's a bug:
      • make sure you clearly describe "observed" and "expected" behaviour. It will dramatically save time for our contributors and maintainers.
      • For minor fixes please just open a PR.
      • Please mark this issues with prefix "Баг:"

😎 I want to write some code!

  • Open our Issues page to see the most important tickets at top.
  • Pick one issue you like and leave a comment inside that you're getting it.

For big changes open an issues first or (if it's already opened) leave a comment with brief explanation what and why you're going to change. Many tickets hang open not because they cannot be done, but because they cause many logical contradictions that you may not know. It's better to clarify them in comments before sending a PR.

🚦Pay attention to issue labels classification

🟩 Ready to implement
  • good first issue — good tickets for first-timers. Usually these are simple and not critical things that allow you to quickly feel the code and start contributing to it.

  • bug — the first priority, obviously.

  • improvement — accepted improvements for an existing module. Like adding a sort parameter to the feed. If improvement requires UI, be sure to provide a sketch before you start.

🟨 Discussion is needed
  • new feature — completely new features. Usually they're too hard for newbies, leave them for experienced contributors.

  • ideadiscussion is needed. Those tickets look adequate, but waiting for real proposals how they will be done. Don't implement them right away.

🟥 Questionable
  • [¯\(ツ)/¯](https://github.com/vas3k/vas3k.club/labels/ ̄_(ツ)_%2F ̄) - special label for questionable issues. (should be closed in 60 days of inactivity)

  • [no label] — ticket is new or controversial. Feel free to discuss it but wait for our maintainers' decision before starting to implement it.

👶 GitHub Basics

  1. Create an issue and describe your idea
  2. Fork it
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Publish the branch (git push origin my-new-feature)
  6. Create a new Pull Request on Github (if you are new with Github: here is tutorial

🛠 Tech stack

👨‍💻 TL;DR: Django, Postgres, Redis, Vue.js, Webpack

We try to keep our stack as simple and stupid as possible. Because we're not very smart either.

🔮 Installing and running locally for development

Basically docker-compose up. See README.md for details.