Here I first explain how this website is working and which tools it uses. Then I tells the story of how I ended up doing it.
What is that ?
The app managing the league is all homemade python/django.
The all django project is running behind gunicorn and nginx
History: how we get there
Below comes the story of how how/why I choose those tools. I am not sure it's of any interest but maybe for some programmer in the same situation it could help so here it is.
I use to manage/set-up some kgs league tools in a ruby on rails website and in two different wordpress installs for ASR.
The ruby on rails tools was great, but lacked a proper CMS. We couldn't easily add new pages, nor embebed sgf/video.
So we went on wordpress iframing the RoR webapp. I guess I don't have to say how wrong it is to do this way. Let just say that the we had 2 different user db and that was not easy to manage.
One year latter I join back and a nice guy built a new php app to manage the league.
This is the webbapp that manage the ASR league as we speak. It runs alongside wordpress and check users auth from it. Great thing was we finally had a league app working with the same user db as our cms/forum.
Sadly, we were (and ASR is ) still using iframes to display league content inside the wordpress app. That's just because the league app uses bootstrap but the wordpress theme doesn't. So we have css conflict if we try loading league infos outside iframe.
When I first think building a new league tool, some nice people advice me to stay away from wordpress.
I have to say I am glad I listened to them. Don't get me wrong, wordpress is fine if you want an easyinstall of a simple blog. But if you want to integrate a proper webapp, it's a mess.
I am very happy to have chosen the django framework. Coding in python is so clean and easy and django ORM is very nice.
From my experience, I had to find a CMS in which we could easily add a sgf viewer and a forum.
I wrote a cutom streamblock for the amazing wagtail streamfield.
Now adding a sgf is as easy as:
You can see the result here.
For the forum engine, I first tested pybbm but add issue with the bbcode widget and template integration. Machina setup was really easy and default templates are pretty nice I think.
We can't add sgf into the forum yet. One needs to write a custom markdown filter to add wgo inside it.
I plan to upload it to github and put the code in GPL. Maybe some other go community could use it, who knows.
First I have to say I am not a programmer. I just learned python the past 2 months and even if django forces you to do the things in the right way, the code might be quite wrong at some places and the website might have some bugs.
For instance, I almost never cared about limiting db calls.
Here are a draft todo list:
- events management system
- blog comments sysem
- custom markdown for sgf viewer in the forum
- specific blog entry for lectures (with fields teacher, related event,...) so we can sort them easily
- improve templates which may be bit of a mess
- read/comment/correct the league app
- add a github
If you know python or django, and feels like helping me let