diff --git a/README.md b/README.md index 59a2c6b..1baff1c 100644 --- a/README.md +++ b/README.md @@ -4,48 +4,49 @@ Smithereens is a digested open-source data visualizer tool for your Smash Ultimate results. -## What Is the Plan for It? +## Why use Smithereens? -The platform will make use of the [StartGG API](https://developer.smash.gg/docs/intro/) and, through separated online and offline sections, will show you: -- how well you usually perform (i.e., overperform, perform, or underperform). -- total # of wins, -- total # of losses, -- total # of wins by DQs, -- total # of losses by DQs, -- winrate, -- placements, and -- what competitor type you are (e.g., 0-2er, 1-2er, 2-2er, etc.). +- Smithereens is accessible both via CLI, and web app. +- Smithereens is open-source, meaning there is no barrier to entry to contribute and improve it based on what you want to see in the app. +- Smithereens is not afilliated with any organization or sponsor, which I hope will increase the resilience of the project in the scene. +- Smithereens is free and there are no ads anywhere in the platform. +- Smithereens was thoroughly tested. First, by ensuring we're always at over 50% local test coverage, and, second, by running it via CLI non-stop for multiple days as 300 parallel jobs on a Kubernetes cluster without failure while aggregating player results. This allowed me to ensure we handle all edge cases (e.g., even load intensive requests for players like rm8, whose profile actually does not load on platforms similar to this). +- Smithereens has cool features like: + - Twitter share (i.e., share your result on Twitter as a Twitter Card - no more need for screenshotting), + - fun metrics (e.g., what competitor type you are (0-2er, 1-2er, 2-2er, etc.)), and + - more! -Aside from player stats, Smithereens also allows you to see the hidden seeding for an event. +## Installing the CLI -In the future, I hope to make it possible for you to claim your profile (i.e., via matching Twitch, Discord, or Twitter credentials from your StartGG account) to allow you to customize your profile and make it truly your own. +Please, check the [build from source pre-requisites section](#building-from-source-pre-requisites) before proceeding. -## What Can It Do Right Now? +```sh +git clone https://github.com/danbugs/smithereens +cd smithereens +cargo build --release +cargo install --path . +smithe --help +``` -Smithereens is not yet available as a website, only as a command-line tool. With it, you can: -- ✅ view the hidden seeding for an event (only in the CLI), -- ✅ view a player's overall results, -- ✅ view a 'digested' tournament result, and -- ❎ claim your profile, and make it your own. +## Contributing -> Note: ->> ✅: means that the feature has already been implemented. ->> ❎: means that the feature is yet to be implemented. +Please, check the [build from source pre-requisites section](#building-from-source-pre-requisites) before proceeding. -## Getting Started +To get setup for contributing, run: +```sh +git clone https://github.com/danbugs/smithereens +cd smithereens +cargo build --release +cargo test --package smithe_lib --no-default-features -- --exact --nocapture --test-threads=1 +``` -Currently, the only way to get Smithereens on your computer is to build it from source. To do so, you need to have the Rust toolchain installed on your machine. To install it, follow instructions [here](https://www.rust-lang.org/tools/install). +If all tests pass, you should be good to go! -> Note: ->> Aside from the Rust toolchain, you will also need: ->> - Postgres, ->> - Diesel, and ->> - Trunk. -> ->> Plus, you need the following Rust targets: ->> - wasm32-unknown-unknown, and ->> - x86_64-unknown-linux-gnu +## Building from source pre-requisites -After that, inside of Smithereens' repository root, run: `cargo build --release`. With that, you'll have Smithereens' binary (i.e., `smithe`) built under `target/release`. You can run it, like: `./target/release/smithe`. After that, feel free to move the binary to a more convenient place on your machine (i.e., perhaps to a place included in your `PATH`, so you can run it simply with `smithe`). +- Rust toolchain with the `wasm32-unknown-unknown`` target, +- Diesel-Rs, +- Trunk-Rs, and +- Postgres (system library). -> Note: In the future, there will be releases for `smithe`, so this process will be better streamlined. +> If you run into any issues while setting this up, please considering making a PR (or at least an issue) to improve this document and help avoid others having to go through the same hurdles you did. It's been a while since I had to get setup from scratch for this project, so this section could be missing required steps or items. diff --git a/frontend/src/main.rs b/frontend/src/main.rs index f660937..fa05d47 100644 --- a/frontend/src/main.rs +++ b/frontend/src/main.rs @@ -43,11 +43,33 @@ fn switch(routes: Route) -> Html { { match routes { Route::Home => html! { -
-
-
-

{"• • •"}

-
+
+
+
+

{"Why Smithereens?"}

+

{"Accessible anywhere, Smithereens is the all-in-one tool for Smash analytics — whether you're a fan or a fierce competitor."}

+
    +
  • {" CLI & Web App"}
  • +
  • {" Fully Open-Source"}
  • +
  • {" Independent & Community-Driven"}
  • +
  • {" Continuously Tested & Reliable"}
  • +
+

{"Experience unique features:"}

+
    +
  • {" Twitter Integration"}
  • +
  • {" Insightful Metrics"}
  • +
  • {" And much more..."}
  • +
+
+
+
+

{"Join Our Discord"}

+

{"Got suggestions or found a bug? We're all ears on Discord. Join our community and help shape Smithereens!"}

+ {"Join Discord"} +
+
+
+
}, Route::PlayerList { gamer_tag } => html! {