Giter Club home page Giter Club logo

tachi's Introduction

Tachi

This is the main monorepo for Tachi.

What is Tachi?

Tachi is a modern, powerful, modular Rhythm Game Score Tracker.

In short, it does the things that people would otherwise make spreadsheets for.

Tachi is a score tracker and analyser for various rhythm games. It was designed out of a dislike for existing websites that display your scores. I think that scores are integral to the rhythm game experience, and that displaying them properly is just as important!

By using Tachi, you get access to powerful, novel rhythm game score-tracking features, like automatically breaking your scores into sessions, setting goals and rivals, and more!

There are way more features that Tachi has, and you can read about all of them here.

Setup

Tachi maintains a setup guide that is easy to follow even if you've never programmed before.

Check the Documentation for how to set Tachi up.

You can then check the component-specific guides to see how to run those components and contribute back!

Quick Setup For Experienced Programmers

  • Open Tachi in vscode
  • Install the Dev Containers extension
  • Run Dev Container: Rebuild and Open in Container
  • (It can take a couple minutes to build and bootstrap)
  • You should be placed inside a vscode instance called Tachi (dev-container)
  • Inside there, you'll have a perfectly set up shell with fancy utils and fancy graphics. Use just start to start Tachi, use seeds to run seeds scripts, etc.

You should not be doing Tachi dev outside of the container. The container is set up perfectly with the right versions of everything and working ESLint and all that.

Unsupported stuff

Tachi is intended to be developed inside a container. This ensures that you have the correct version of MongoDB, Redis, Typescript and all that jazz.

VSCode has excellent native support for dev containers, and as such this is the only method of local development we officially support.

Over the years we have had a lot of issues with people having subtle variations on their system (or on windows). Given the contributor-centricity of Tachi, it's untenable to expect every contributor to be an expert with local dev setup.

The devcontainer provides us with the most simple, consistent experience, and allows us to put nice-to-haves inside the user's shell.

That said, if you're ardently against using VSCode or Docker...

DO NOT REPORT ISSUES TO ME IF YOU DO THIS

You can run the docker-compose file and dev/boostrap.sh inside the container yourself. Work inside the container.

Alternatively if you want to work outside of docker you're on your own. Figure out the correct versions for everything (npm, pnpm, mongo, redis, ts-node...) and dev/bootstrap.sh.

Repository Info

This monorepo contains the following codebases:

  • client/, Which is a React frontend for Tachi. (AGPL3)

The client and the server are fairly decoupled. Someone could trivially create their own frontend client for Tachi.

  • server/, Which is an Express-Typescript backend for Tachi. (AGPL3)

This contains all of our API calls, and interfaces with our database, and powers the actual score import engine.

  • seeds/, Which is a git-tracked set of data to be synced with Tachi. (unlicense)

This is the source of truth for the songs, charts, and more on the site! By submitting PRs to this, you can fix bugs on the website, add new charts, and more.

  • bot/, Which is a discord bot frontend for Tachi. (MIT)

  • common/, Which contains common types, utils and functions shared between all other packages. (MIT)

This is also published to NPM when it hits production.

  • docs/, Which contains Tachi documentation. (MIT)

  • sieglinde/, Which contains our BMS/PMS analysis functions. (MIT)

tachi's People

Contributors

737465616466617374656e646572 avatar adamaq01 avatar albshin avatar beer-psi avatar bottersnike avatar cg505 avatar dependabot[bot] avatar emskye96 avatar ereti avatar fluzzarn avatar fruityenloops avatar grim657 avatar hewoicvewse avatar hibikidesu avatar hoshikara avatar j1nxie avatar kanrik avatar kawachiboy14 avatar lopsell483224 avatar meta-link avatar minaangura avatar nyairobi avatar pfych avatar phileas0408 avatar saintnoodle avatar tachi-seeds avatar theodosiouth avatar xinnoh avatar yahooeny avatar zkldi avatar

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.