Development workflow

Had to show a friend of mine who is very far away from development how to make changes in a source code of a web app. Is it only me how thinks it is a crazy workflow we have now?!

For the reference. The web app is written in Python, open sourced and hosted on Gitlab.

See for yourself

  1. Make an account on Gitlab.
  2. Fork original project. We do not want to grant write access to our precious code to strangers, so fork it and make push requests afterwards.
  3. Set-up a sync between your fork and the original project (if you want to contribute more than once). For this you need to.. Hm. Add a new remote to git repository (BTW, what the hell is Git repository anyway), fetch from it, merge from it. And most likely one will need to do this in the shell. Find your gramma and try to explain shell to her. Be surprised!
  4. Optional, if web app provides docker image. Download and install Docker. Pray that it will work. Note that you won't be able to download Docker without an account!
  5. Observe that Docker doesn't work on that particular machine, which doesn't run the latest version of OS, is not powerful enough or something else.
  6. Spell three curses loudly!
  7. Grab anaconda or some other python, install it.
  8. Bring up development environment in Python. Hope that all dependencies are in good shape.
  9. Do the changes you wanted.
  10. Make a pull request.

And I am still omitting a lot of details here.

Do not understand me wrong. Personally I am OK with this suffering. I know how to do it, but for the case with my friend we agreed that she sends me her changes in an e-mail and I'll take it from there.