→ Ripple
GitHub is used to mirror our code, and in certain subprojects also to publish the code directly and allow PRs/issues.
→ Ripple
Gitea is where our code lives and shines. We love self-hosted and would rather not pay too much money for GitHub private repos, so we just use our own Gitea instance.
→ Ripple
We use Semantic UI for our frotend. A heavily customised version of it, but still Semantic UI under the hood.
→ Ripple
MariaDB is used the same way as MySQL, except that MariaDB is used on our arch-based servers.
→ Ripple
Discord is used for all the discussions with our community, and discussions between our entire staff (including Community Managers, Chat Moderators and BATs). We also use a Discord bot we developed to deploy new code to the server.
→ Ripple
Long-lived data is stored in MySQL, period. Everything from users, to scores, to beatmaps, anything.
→ Ripple
Donations are processed through PayPal, mostly. So it's a pretty indespensable tool, as it's our main source of income.
→ Ripple
Mails from the website frontend are sent through Mailgun, mainly because of the free plan of 10,000 emails which perfectly suits us.
→ Ripple
Trello is the core of our workflow. All tasks to be done go on Trello, and whenever you have to work on something, you go on Trello to check out what you could work on. And it works perfectly for us.
→ Ripple
Redis is probably the single piece of software we love the most. We just love its simplicity, speed and we use it for caching data, storing user sessions, and making leaderboards. It just works perfectly for us.
→ Ripple
All of our tasks and things to do are sorted out using Trello. Trello contains everything we're working on, what we plan on working on and guides on how to work on stuff.
→ Ripple
We only have our old website still written in PHP - and hopefully that will disappear soon, but we do use that.
→ Ripple
We use Google Analytics to see in which countries we're having most success, and in which demographics. We offer users the possibility to opt out of Google Analytics by setting the Do Not Track feature in their browser, because we want to respect user privacy.
→ Ripple
nginx acts as our main webserver, proxying all connections to our other servers (both Python servers and Go servers). We use nginx because it's crazy fast, and it's proven to be reliable for the entire time we've been using it.
→ Ripple
Cloudflare functions mostly as a simple CDN to our website. Most of requests delivered to our server don't even get through Cloudflare, and we could easily do without.