Skip to content

climu/openstudyroom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f05941f · Sep 30, 2023
Apr 22, 2023
Apr 22, 2023
Aug 15, 2023
Apr 22, 2023
Jun 29, 2023
Apr 22, 2023
Feb 7, 2023
Aug 15, 2023
Sep 30, 2023
Aug 15, 2023
Sep 29, 2023
Sep 29, 2023
Aug 15, 2023
Aug 15, 2023
Aug 15, 2023
Apr 22, 2023
Jan 3, 2019
Jun 8, 2020
Apr 22, 2023
Apr 22, 2023
Feb 21, 2017
Jun 29, 2023
Apr 22, 2023
Jun 29, 2023
Mar 13, 2022
Apr 22, 2023
Apr 22, 2023
May 29, 2020
Jun 29, 2023
Apr 22, 2023
Feb 7, 2023
Nov 18, 2018
Jun 29, 2023

Repository files navigation

Open Study Room

Open Study Room (OSR) is a community of go/baduk/weiqi players who share, build and organize knowledge, opportunities and resources for learning, studying and playing Go online as part of a thriving worldwide community.

You can always meet us in our discord server.

Our website

This is the code of our website that runs at openstudyroom.org.

This website is written in python and powered by the django framework.

The project is under GNU GPL 3.

You are welcome to help us improve it or use it as the base for your own go community website.

It comes with the folowing tools:

A CMS

To manage the content, we use the wagtail CMS along with the puput blogging app.

The models and templates of this app can be found in the home folder.

A forum

The forum is powered by machina and uses mistune for markdown formating.

Custom template forum base template in openstudyroom/templates/boardbase.html.

A league app

Allow hosting go leagues where games are played on the KGS or OGS go server. A cron job can get games automatically from those servers.

Note that the auth model league.models.User is in here.

The scraper() function inside league.views is run by cron every 5 mins.

It's all under the league folder.

A tournament app

Allow hosting go tournaments. Games must be uploaded manually by admins.

A calendar and game planning tools

Allow admins to manage calendar events and users to plan games.

The client side is rendered by the js fullcalendar library.

Js goodies

[gmt] tag

This js will replace every [gmt]YYYY/MM/DD HH:mm[/gmt] to the locale datetime in the user timezone. Example output in french "dimanche 11 novembre 2018 19:00 (Europe/Paris)".

It is loaded on all .rich-text elements here and in the forum .post elements here.

[goban] tag

This js allow to replace [goban url="url/of/the/url"]some interactive comments[/goban] to a go board using the wgo.js library.

It's loaded on the forum .post-content elements here.

It's functionalities are documented here.

Contributing:

Have a look at our contributing guidelines here.

Working with Docker

  • Run the web server:
docker compose up app
  • Run ruff checks:
docker compose run --rm ruff
  • Launch the container CLI (for ewample to update translations):
docker compose run --rm cli