Mirror of github.com/ppy/osu-web, in case ppy decides to take the original down for some reason.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bakaneko e773270f97
Merge pull request #5415 from nanaya/beatmapset-bpm
15 hours ago
.docker Move docker user $HOME 1 year ago
app Put back bpm in beatmapset api 15 hours ago
bin Remove unused chrome browser startup 1 month ago
bootstrap Works with test and stuff. 2 years ago
config get redis port and db from env 1 week ago
database Add migration for show_in_client to user_contest_entries 4 days ago
docker routes and localization files built when webpack runs 1 month ago
docs apidoc for ranking 2 months ago
public Move medal icons to assets (#5198) 1 month ago
resources Merge branch 'master' into pt-br-plural-fix 2 days ago
routes Add LIO endpoint to allow batch marking channels as read 1 week ago
storage Different file 1 month ago
tests Update test 2 days ago
.editorconfig Default indenting to 2 spaces for everything and override to 4 for php instead 1 year ago
.env.dusk.local.example Skip starting webdriver if custom url is set 1 week ago
.env.example get redis port and db from env 1 week ago
.gitattributes Enforce lf for sh files 3 years ago
.gitignore Ignore phpunit test cache file 2 months ago
.styleci.yml Fix StyleCI 1 month ago
.travis.yml Update travis environment 1 week ago
CONTRIBUTING.md Move code style sections to CONTRIBUTING.md 1 year ago
LICENCE Fix wording in licence 4 years ago
README.md Fixed multiple of "Check list of open issues" 4 months ago
SETUP.md remove travis step; update SETUP.md 1 month ago
artisan Laravel 5.3 3 years ago
bootstrap.sh Increase minimum php version to reflect updated symfony requirements 1 year ago
build.sh routes and localization files built when webpack runs 1 month ago
composer.json missing package 2 months ago
composer.lock Update php components 1 month ago
crowdin.yml Update as unapproved by default 9 months ago
deploy.sh Fix config being cached too early in the build process. 1 year ago
docker-compose.yml Update docker 4 months ago
generate-localizations.js Merge branch 'master' into translating-mails 4 days ago
karma.conf.js close watcher if not watching. 1 month ago
osu!web.sublime-project RIP bower 3 years ago
package.json Forgot to get rid of this 1 week ago
phpunit.dusk.xml Missed phpunit settings for dusk 10 months ago
phpunit.xml Increase chat rate limit for phpunit 1 week ago
server.php Update PHP files to use PSR-2 via StyleCI's checks 4 years ago
travis-php.ini pecl-redis already installed 10 months ago
tsconfig.json Tsconfig cleanup 5 months ago
tslint.json more rules 6 months ago
webpack.config.js delay resolving and building mix config. 1 month ago
webpack.mix.js add sanity check 1 month ago
yarn.lock Merge branch 'master' into feature/typescript-3.7 1 month ago



Build Status StyleCI Crowdin dev chat

The browser-facing portion of osu!.


  • A PHP 7.1+ environment
  • MySQL 5.7
  • Elasticsearch

Getting Started

See the setup guide for a rundown on how to get a development environment up.


We welcome all contributions, but keep in mind that we already have the full site designed (mock-ups). If you wish to work on a new section, please open a ticket and we will give you what you need from a design perspective to proceed. If you want to make changes to the design, we recommend you open an issue with your intentions before spending too much time, to ensure no effort is wasted.

If you wish to help with localisation efforts, head over to crowdin. If you’re unsure of what you can help with, check out the list of open issues. (especially those with the “good first issue” label).

Please see CONTRIBUTING.md for information about the code standards we expect from pull requests.

While we have standards in place, nothing is set in stone. If you have an issue with the way code is structured; with any libraries we are using; with any processes involved with contributing, please bring it up. We welcome all feedback so we can make contributing to this project as pain-free as possible.

For those interested, we love to reward quality contributions via bounties, paid out via paypal or osu! supporter tags. Don’t hesitate to request a bounty for your work on this project.

Seeking Help

If you need help with anything, you have two options:

Create an Issue

If you have something you want to discuss in detail, or have hit an issue which you believe others will also have in deployment or development of the system, opening an issue is the best way to get help. It creates a permanent resource for others wishing to contribute to conversation. Please make sure to search first in case someone else has already addressed the same issue!


Alternatively, you can join the development discord for assistance.


osu!web is licensed under AGPL version 3 or later. Please see the licence file for more information. tl;dr if you want to use any code, design or artwork from this project, attribute it and make your project open source under the same licence.