Summer Code Jam 2022

  1. Your solution must use one of the approved frameworks. It is not permitted to circumvent this rule by e.g. using the approved framework as a wrapper for another framework.

  2. The core of your project must use WebSockets as its communication protocol.. This means that you are allowed to use other methods of communication where WebSockets cannot be implemented, however, that should be a non-significant portion of your project. For example, serving static files for a website cannot be done over WebSockets and it does not pose as a significant portion of a project, therefore it is allowed.

    This rule does not apply to databases and files when used for storage purposes even though that may be a significant portion of your project. Working with subprocesses (through stdin/stdout or multiprocessing.Pool()/concurrent.futures.ProcessPoolExecutor()) is also exempt from this rule.

    If you're unsure about your use of non-WebSocket communication, please reach out to the events team.

  3. Your solution should be platform agnostic. For example, if you use filepaths in your submission, use pathlib to create platform agnostic Path objects instead of hardcoding the paths.

  4. You must document precisely how to install and run your project. This should be as easy as possible, which means you should consider using dependency managers like pipenv or poetry. We would also encourage you to use docker and docker-compose to containerize your project, but this isn't a requirement.

  5. You must get contributions from every member of your team, if you have an issue with someone on your team please contact a member of the administration team. These contributions do not necessarily have to be code, for example it's absolutely fine for someone to contribute management, documentation, graphics or audio. Team members that do not contribute will be removed from the Code Jam, and will not receive their share of any prizes the team may win. They may also be barred from entering future events.
  6. You must use GitHub as source control.

  7. All code and assets must be compatible with the MIT license. This is because we will be merging your submission into our summer-code-jam-2022 repo at the end of the jam, and this repo is licensed with the MIT license. Projects that include assets that are incompatible with this license may be disqualified.

  8. All code must be written and committed within the time constrictions of the jam. Late commits may be reverted, so make sure you leave enough time to bug test your program.

  9. Use English as the main language for your project, including names, comments, documentation, and commit messages. Any text displayed in your application should also be in English, although you are allowed to provide the user with options for internationalisation and translation.

  10. Your team, once the coding portion of the code jam is complete, must create a video presentation that showcases and explains your final product. This must be in a video format and must be uploaded somewhere for the judges to view (i.e. unlisted Youtube video, Vimeo, etc.) The video can be as simple as a screen recording with annotated text. Teams who do not submit a final video presentation may be disqualified.

Please note that our regular community rules and code of conduct also apply during the event and that we reserve the right to make changes to these rules at any time.