Guided coding: FreedomBox Turns 10 Hackathon

Guided coding information:

  • What : Learn how to code for FreedomBox.
  • When : 1:15pm-5:00pm on Saturday, November 16, 2019
  • Where : Jerome Greene Hall Room 103, Columbia Law School

Note: Due to the surprisingly large number of registrants (30+), we will group people into teams of at least two people for the coding session. Our experience has been that paired coding is more fun for participants and increases the likelihood of completed code tasks by the end of the hackathon.

Instructions: What to know before the hackathon

  • Read HACKING.md and CONTRIBUTING.md
  • Brush up Python coding skills
  • If you are already not familiar, learn basics of Linux command line
  • Take a tutorial on Django. Especially views, forms, urls and templates
  • Try to perform the developer setup based on HACKING.md prior to the session
    so that you can skip the developer setup and join the guided coding session
    directly. Otherwise, perform the setup with help during the developer setup
    session.
  • Basic skills in python, git, and django are recommended. If you don’t know much about these things, check out various online resources

Guided Coding Process (we will explain these steps to you in person at the hackathon):

  • Setup your machine for FreedomBox session (previous session or prior to it)
  • Pair with someone for the coding session
  • Pickup a task from the list of Contributor Invites
  • Register an account with the FreedomBox Forum. Claim the task by posting a message so that no one else works on the same task
  • Talk to the core developers for any explanation or clarification needed
  • Read CONTRIBUTING.md in plinth source tree
  • Create a branch, make changes
  • Refer to FreedomBox Developer Manual if necessary from
    https://docs.freedombox.org
  • Run tests using py.test-3 (see HACKING.md)
  • Run functional tests, if possible (see HACKING.md)
  • Commit changes
  • Create account on https://salsa.debian.org
  • Fork Plinth project from https://salsa.debian.org/freedombox-team/plinth
  • Push your changes to your fork
  • Create a pull request

Resources: