Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

1,454 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Guccho

Overview

Guccho is a web-based service designed for interacting with private osu! servers, focusing on compatibility and ease of use.

System Requirements

  • Node.js version 18 or higher.
  • A compatible platform (details on supported platforms provided below).

Installation and Setup

  • Configuration preparation is crucial:

    • Generate guccho.ui.config.ts based on guccho.ui.config.example.ts.
    • Create guccho.backend.config.ts using guccho.backend.config.example.ts as a template.
    • Edit the newly created configuration files as guided by the included comments.
    • If using env() or safeEnv(), set up a .env file using .env.example as a reference.
  • Install dependencies:

    pnpm install

Tooling

For use with bancho.py or ppy.sb@bancho.py, ensure DB_DSN is set in your environment variables to enable Drizzle tooling.

Supported Backends

  • bancho.py (also known as gulag)
  • ppy.sb

Production Deployment

  • To build the application for production:

    pnpm build
  • To start the production server:

    pnpm start:prod
  • Further details on deployment can be found in the Nuxt.js deployment documentation.

Development Environment

Upcoming Features (To-Dos)

  • Implement functionality to grant owner privileges to the first registered user.

Architecture Diagram

flowchart TB
 subgraph abstracted [Abstract]
 user(User) --- relation(Relationship)
 user --- score(Score)
 score --- beatmap
 leaderboard(Leaderboard) --- beatmap(Beatmap)
 end
 subgraph extendable [Extendable]
 status(Status)
 article(Article)
 log(Log)
 session(Session)
 end
 subgraph providers [Providers]
 extendable
 abstracted
 end
 subgraph impl [Implementations]
 ppy.sb(ppy.sb) === |extends| bancho.py
 end
 subgraph resource [Resources]
 mysql[(MySQL)]
 gulag[/Bancho.py Server/]
 redis[(Redis)]
 file[(File)]
 memory[/Memory/]
 env
 end
 subgraph server [Server]
 trpc-server(TRPC Server)
 providers
 impl
 bancho.py(Bancho.py) === |implements, extends| $base([Base])
 end
 subgraph pages [Pages]
 page-user(/user/:id)
 pages-other(/...)
 end
 subgraph client [Client]
 search(Search)
 trpc-client(TRPC Client)
 pages --- trpc-client
 pages --- client-session
 search --- trpc-client
 client-session(Client Session) --- trpc-client
 end
 A[Gamer] --> |Browser| pages
 trpc-client --> |superjson| trpc-server --> |devalue| trpc-client
 trpc-server === providers
 session --- user
 extendable ===== |$def| $base
 abstracted ===== |$active| impl
 ppy.sb --- |additional tables| mysql
 bancho.py --- |"gulag api(v1)"| gulag
 bancho.py --- |leaderboard| redis
 bancho.py --- mysql
 $base --- |session| redis
 $base --- |runtime, session| memory
 $base --- |log| file
 $base --- |reads| env
Loading

The team (Guccho)

About

a frontend from modern stack, gulag written with nuxt 🏘

Resources

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /