harmonydata / hackathon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Harmony is planning a hackathon!

We are planning a hackathon in London on 3 June. You can sign up on Eventbrite!

In the meantime, feel free to join our community on Discord, check out the ideas list and try our Kaggle competition!

Sign up on Eventbrite

  • When: 3 June 2024, registration starts at 9:00 am
  • Where: University College London, Room B02 in Chandler House, 2 Wakefield St, London WC1N 1PF

The hackathon is for improving Harmony in general and we would like help with a number of areas - your team could pick one or choose your own!

Other ideas requested by research psychologists: can we add to the export, groups of similar items? E.g. everything to do with height across 5 studies? Perhaps this could also be another view in the visualisation in the tool.

./find_variable.png

Difficulty cloning?

Because we don't want you to spend all day having trouble with Git if you're not familiar with Git, you can download the already cloned source code from here: https://harmonyapistorage.z33.web.core.windows.net/harmonyapi.zip

Videos about Harmony

Short demo: https://www.youtube.com/watch?v=cEZppTBj1NI Presentation at Melbourne Children's LifeCourse Initiative seminar: https://www.youtube.com/watch?v=ZPY-fPsVIE4

Installing Harmony

You can use Windows, Linux or Mac. We have made some videos to help you install Python and Harmony:

🎬Video for Windows · 🎬 Video for Linux/Mac · 🎬 Video on how to install the front end locally

Here are the steps to get started:

  • First clone the repository from Git. If you're not familiar with Git and Github, we recommend you watch a tutorial on Git first (example: https://www.youtube.com/watch?v=USjZcfj8yxE)

  • Install Python 3.11

  • Install Pycharm

  • Install Jupyter Notebooks

  • Run the example Colab notebook

  • We recommend Anaconda and Jupyter Notebook

  • Then you can do pip install harmonydata to install Harmony once Python has been installed.

Pushes and commits

We try to keep our code clean and consistent. If one person uses spaces and another uses tabs, it's hard to manage it and keep track of code changes. Please follow the general principles for consistency.

When developing and pushing changes,

  • Please use PEP-8 Linter - this is a set of rules of how many whitespace characters are allowed in a line, and in general provides consistency for formatting of human readable code and comments. If everyone formats their code differently, things become hard to manage as it's hard to track if a change is a functional change, or a formatting change. Imagine if a newspaper article switched between British and American spelling every sentence and between formal tone and textspeak! Let's keep things consistent!
  • Please run unit tests before pushing. We use test driven development. That means that every commit gets tested automatically by Github and will get a green tick or red cross if the tests pass or fail. All the repos have tests in a folder called tests and you can run them on your computer and Github actions will run them when you commit. They will tell you if you break any functionality.
  • Check your PR hasn’t got any extra files made by your IDE that shouldn’t be committed, such as .vscode. It's a common mistake for beginners to bulk commit the entire contents of a directory including files which are not part of the project. For example, Mac puts extra hidden files inside folders when you open them in the file browser. Try not to let them clutter our code base. They make code hard to manage and in some cases can break the tool.

At the end of the hackathon

Please fill out our feedback form at the end of the session: https://forms.gle/WSXaoDiWu7XF8oKr5

About

License:MIT License