MCPcopy Index your code
hub / github.com/Rurusetto/rurusetto

github.com/Rurusetto/rurusetto @20222.402.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 20222.402.0 ↗ · + Follow
259 symbols 878 edges 138 files 86 documented · 33% updated 19mo ago2023.725.0 · 2023-07-25★ 4417 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Rūrusetto logo

Rūrusetto (ルールセット)

Continuous Integration Deploy Changes to Server CodeFactor Website Contributor Covenant Discord Shield

A wiki that contains all osu! rulesets

The new era of Rūrusetto is beginning!

About the new website

The new website is targeted to revamp all the UI of the old website and make Rūrusetto a dynamic website with a lot more of new functions that cannot be added to the old website's source code.

Old website source code

The old source code of the website is in the other branch

API

We also provide the API for developer who want to use of our rulesets information in our database for your own dream project. More info available in the documentation.

Developing Rūrusetto

Please make sure you have the following prerequisites:

Downloading the source code

Clone the repository:

git clone https://github.com/Rurusetto/rurusetto/
cd rurusetto

To update the source code to the latest commit, run the following command inside the Rūrusetto directory:

git pull

Make the virtual environment

During the development progress, we recommend using a virtual environment.

First, make a folder to contain the virtual environment in Rūrusetto directory. Then build the virtual environment.

cd rurusetto
mkdir venv
python3 -m venv rurusettovenv

When you want to access the virtual environment just use source command and link it to the activate file to activate the virtual environment file in Rūrusetto directory.

source rurusettovenv/bin/activate

And when you want to get out of from the virtual environment, use the deactivate command.

deactivate

Note : If you use PyCharm, you can click on the python interpreter and you can add the new interpreter to create a new virtual environment. Then when you run the commands in PyCharm terminal, all commands will persist in the virtual environment.

Install the requirement library in the virtual environment

When you start the virtual environment, you need to install the requirements that are listed in requirements.txt file. Run this command in Rūrusetto directory to do so automatically:

pip install -r requirements.txt

Make the database

Before we can start the server, we must make a database for the website by migrating the database from the code. Run this command in Rūrusetto directory to make the database.

cd rurusetto # get in the Rūrusetto project config folder
python manage.py migrate

Fill the configuration value and secret key

Rūrusetto uses python-decouple library to separate the configuration value and secret key. This library will read the configuration value from the .env file. Create the .env file in rurusetto folder. Below is the template for this file.

SECRET_KEY = awesome_key_here
DEBUG = True
TEST_SERVER = True
ALLOWED_HOSTS = 127.0.0.1
OSU_OAUTH_CLIENT_ID = idgohere
OSU_OAUTH_CLIENT_SECRET = keygohere
OSU_API_V1_KEY = keygohere
GITHUB_TOKEN = githubtokengohere

Note : The OSU_OAUTH_CLIENT_ID OSU_OAUTH_CLIENT_SECRET and OSU_API_V1_KEY are required when you want to development with osu! OAuth system or some program parts that require the osu! API you must fill the osu! API key and OAuth app number in .env to start development on this function. But if you are not testing this function it's okay to leave the key blank. (The development OAuth server callback is http://127.0.0.1:8000/accounts/osu/login/callback/.)

Start the development server

Run the runserver command in Rūrusetto directory

cd rurusetto # get in the Rūrusetto project config folder
python manage.py runserver

Contributing

When it comes to contributing to the project, the two main things you can do to help out are reporting issues and submitting pull requests. We have prepared a list of contributing guidelines that should hopefully ease you into our collaboration process.

Note that the contributing guidelines are not exhaustive. Nothing is set in stone. If you have an issue with the way the code is structured, with any libraries we are using, or with any processes involved with contributing, please bring it up and ask us! We welcome all feedback, so we can make contributions to this project as hassle-free as possible.

We use code of conduct from Contributor Covenant.

License

Icon and new color scheme is designed by @IKeepItNoodles

The code in this repository is licensed under the MIT license. Please see the license file for more information.

TL;DR you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source.

The images in this website and the content that is upload by the users and community are covered by DMCA. If you are the work's original owner and want to request to remove your work, please email the team by contact HelloYeew (project leader) at me@helloyeew.dev.

Each ruleset has its own license.

The licensing here does not directly apply to osu! and ppy, as it is bound to its own licensing.

Core symbols most depended-on inside this repo

save
called by 39
rurusetto/wiki/models.py
save
called by 34
rurusetto/users/models.py
source_link_type
called by 10
rurusetto/wiki/function.py
make_404_json_response
called by 7
rurusetto/api/views.py
make_listing_view
called by 4
rurusetto/wiki/function.py
scrollFunction
called by 4
rurusetto/wiki/static/js/custom.js
get_user_by_id
called by 2
rurusetto/wiki/function.py
direct_download_link_generator
called by 2
rurusetto/wiki/function.py

Shape

Class 153
Function 63
Method 40
Route 3

Languages

Python97%
TypeScript3%

Modules by API surface

rurusetto/api/serializers.py25 symbols
rurusetto/wiki/views.py24 symbols
rurusetto/wiki/models.py17 symbols
rurusetto/users/forms.py16 symbols
rurusetto/wiki/tests.py11 symbols
rurusetto/rurusetto/urls.py11 symbols
rurusetto/wiki/function.py9 symbols
rurusetto/wiki/forms.py8 symbols
rurusetto/users/models.py7 symbols
rurusetto/api/views.py6 symbols
rurusetto/users/signals.py5 symbols
rurusetto/wiki/static/js/custom.min.js4 symbols

For agents

$ claude mcp add rurusetto \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page