Giter VIP home page Giter VIP logo

guweb's Introduction

Table of Contents

What is ppy-sb-guweb?

guweb is the front-facing appearance of the osu! server protocol, gulag! Using native async/await syntax written on top of Quart and cmyui's multipurpose library, guweb achieves flexability, cleanliness, and efficiency not seen in other frontend implementations - all while maintaining the simplicity of Python.

Requirements

  • Some know-how with Linux (tested on Ubuntu 18.04), Python, and general-programming knowledge.
  • MySQL
  • NGINX

Setup

Setup is relatively simple - these commands should set you right up.

Notes:

  • Ubuntu 20.04 is known to have issues with NGINX and osu! for unknown reasons?
  • If you have any difficulties setting up guweb, feel free to join the Discord server at the top of the README, we now have a bit of a community!
# Install Python >=3.9 and latest version of PIP.
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9 python3.9-dev python3.9-distutils
wget https://bootstrap.pypa.io/get-pip.py
python3.9 get-pip.py && rm get-pip.py

# Install MySQL and NGINX.
sudo apt install mysql-server nginx

# Clone guweb from GitHub.
git clone https://github.com/varkaria/guweb.git
cd guweb

# Initialize and update the submodules.
git submodule init && git submodule update

# Install requirements from pip.
python3.9 -m pip install -r ext/requirements.txt

# Add and configure guweb's NGINX config to your nginx/sites-enabled.
sudo ln -r -s ext/nginx.conf /etc/nginx/sites-enabled/guweb.conf
sudo nano ext/nginx.conf
sudo nginx -s reload

# Configure guweb.
cp ext/config.py config.py
nano config.py

# Run guweb (on port 8000).
python3.9 main.py # Run directly to access debug features for development!
hypercorn main.py # Please run guweb with hypercorn when in production! It will improve performance drastically by disabling all of the debug features a developer would need!

Translation

requirements

  • VSCode (recommend)
  • VSCode plugin: i18n-ally (recommend)
  • Node

prepare

npm install -D

how to

  • open any html files with i18n-ally plugin enabled.
  • translate keys
  • run npm run i18n:compile to generate files for python-i18n

Directory Structure

.
โ”œโ”€โ”€ blueprints   # Modular routes such as the API, Frontend, or Admin Panel.
โ”œโ”€โ”€ docs         # Markdown files used in guweb's documentation system.
โ”œโ”€โ”€ ext          # External files from guweb's primary operation.
โ”œโ”€โ”€ objects      # Code for representing privileges, global objects, and more.
โ”œโ”€โ”€ static       # Code or content that is not modified or processed by guweb itself.
โ”œโ”€โ”€ locales      # translations
โ”œโ”€โ”€ templates    # HTML that contains content that is rendered after the page has loaded.
    โ”œโ”€โ”€ admin    # Templated content for the admin panel (/admin).
    โ”œโ”€โ”€ settings # Templated content for settings (/settings).
    โ”” ...         # Templated content for all of guweb (/).

The team

  • Yoru | Backend, Grammar Checking [Deprecated]
  • Varkaria | Frontend, Backend?

The End

Well know that you know everything, why not check out the original code guweb was based off of in this i think i should continue this work to finish work?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.