Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/documentation #61

Merged
merged 8 commits into from
Apr 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/mkdocs_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: .NET

on:
push:
branches: [ main ]

jobs:
build:
env:
BUILD_CONFIG: Release
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: install mkdocs
run: pip install mkdocs-material
- name: deploy
run: mkdocs gh-deploy
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -360,4 +360,5 @@ MigrationBackup/
.ionide/

# Fody - auto-generated XML schema
FodyWeavers.xsd
FodyWeavers.xsd
/site
10 changes: 10 additions & 0 deletions docs/getting-started/create-account.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Getting started

## Create an Account

Before you can host your league in iRLeagueManager you need to set-up a personal user account.

[Click here to open sign-up page](https://irleaguemanager.net/member/register)

Follow the steps to create and verify your account.
Once you finished with the verification you can sign-in through the [login page](https://irleaguemanager.net/member/login)
23 changes: 23 additions & 0 deletions docs/getting-started/create-league.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Create League

## Create your own league

!!! warning
Creating your league is not possible through the UI yet.
If you want to have a league created please write a request to [[email protected]](mailto:[email protected])

## First season and schedule

By default a new league already has a default season and schedule configured:
> ![Screenshot](img/Screenshot 2023-04-03 153420.png)

If you want to change the name of the season you can do so by navigating to the settings page
Menu -> *LeagueName* -> Settings
> ![Screenshot](img/Screenshot 2023-04-03 154555.png){width="300"}

On the settings page, click on the Season shown in the list and it will open a new Modal where you can change the name.
> ![Screenshot](img/Screenshot 2023-04-03 155059.png)

Type in the name you want and click "Save" to apply the changes.


99 changes: 99 additions & 0 deletions docs/getting-started/events-and-results.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Events and Results

## Create Events

Events are Created on the **Schedule** section.
![Screenshot](img/Screenshot 2023-04-03 160800.png)

To add an event to the Schedule click the **"Add Event"** Button
below and a modal window will open to configure the event settings.

### Name, Date & Time

At first you need to fill in the basic event information like date and time of event.
Optionally you may also specify an Event name for easier identifiaction.

The date and time will be set in your local time zone so you should not have to worry about conversions.
The start time should ideally coincide with the start of the session in iRacing.

### Track & Config

Next step is to select the track and config. You can search for tracks by name and/or select them from the dropdown.
For each track the available configurations will be shown and can be selected after the track selection.
> ![Screenshot](img/Screenshot 2023-04-03 161853.png){width="500"}

### Sessions

And event is divided into multiple sessions that run in succession.

Practice -> Qualifying -> Race (-> Race#2)

Each session can be individually configured by duration and maximum number of laps.

#### Practice and Qualifying

You can optionally define attached practice and qualifying sessions for your event.
Just check the box for either practice/qualy and then enter the desired duration time or the number of laps (or both)
> ![Screenshot](img/Screenshot 2023-04-03 170200.png){width="500"}

!!! note
While there is no problem with uploading results from iRacing sessions that have a different
configuration for either practice or qualifiying it is still recommended to use the same
configuration as in iRacing so the start and duration times match.

#### Race Session(s)

Finally configure the race mode of your event. Typically there is two main constellations that you want to run your race in:

> 1. **Single Race**
> 2. **Multi Race (Heats)**

Both can be configured the same in iRLeagueManager by simply adding the desired number of race sessions for the event.
> ![Screenshot](img/Screenshot 2023-04-03 171649.png){width="500"}

### Event Result Configurations

In order to produce the correct results for your event you need to select the according result configurations.
Read more about managing result configurations visit
-> [Result Configurations](settings/championships#result-configurations)

### Creating multiple Events
!!! note
If you are creating multiple events in succession the settings from the previous event will be copied to the new event automatically.
That way you will not have to type everything again and can reuse the settings.

## Upload Results

!!! note
This section shows how to the result files from iracing and upload them into iRLeagueManager.
A direct import using the iracing data API is currently in the works and will be available in the future.

### Export Results from iRacing

iRLeagueManager uses the `json` export feature from **iRacing** to import the results into the tool.
To get the results you need to open the **iRacing UI** and go to the result you want to export and click *Export Results*
> ![Screenshot](img/Screenshot 2023-04-03 174047.png)

Save the json file some where you can find it.

### Upload to iRLeagueManager

1. Go to the **Results** section of your league
![Screenshot](img/Screenshot 2023-04-03 174621.png){width="500"}

2. Select the Event you want to upload the result for
![Screenshot](img/Screenshot 2023-04-03 174948.png){width="540"}

3. Click on *Upload Result* and select the json file that you saved earlier
![Screenshot](img/Screenshot 2023-04-03 175157.png){width="450"}

4. You may need to refresh the page before the event results should show up

### Re-Calculate Results

Sometime the recalculation of a result is needed, for example after you made some changes to the championship or to apply penalties from reviews.
You can simply do this by clicking on the *Calculate* button displayed above the result
> ![Screenshot](img/Screenshot 2023-04-03 175836.png){width="300"}

!!! warning
Calculation of the results cannot be reverted and will be active immediately. Please make sure you do not accidentally lose any data before calculating.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 51 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Welcome to iRLeagueManager

Your home for league administration!
A powerful web based scoring tool for iRacing leagues that offers a fast and reliable league database, support for many race types and scoring configurations and a
built in stewarding system.

!!! note
Registration has not opened yet but you can already try it out if you join my discord and shoot me a message:
[https://discord.gg/XUG2kad](https://discord.gg/XUG2kad)

## Description
Online sim racing has gained strong popularity among hobbyists and professionals alike and iRacing is one of the leading platforms for competitive racing.
Many people choose to organize private hosted races in leagues to stir up the competition, recreate historical championships or just to have fun with friends.

While iRacing does provide support for leagues and league scoring the capabilities fall short compared to the variety of race formats and points calculation formats
that people want to implement for their league.
As a result, many chose to export the results from iRacing and use a 3rd party solution to manage and host their scorings. Solutions range from using spreadsheets
up to full scale result hosters.
Managing spreadsheets can be a tedious and time consuming task and as the leagues grow the workload for keeping up with current and past results will grow larger.
Oftentimes leagues implement some kind of penalty system that also needs to be accounted for through points deduction or time penalties.

**iRLeagueManager is providing such a service for scoring and hosting your league results all-in-one.**

> <img src="https://user-images.githubusercontent.com/57634354/210998860-b9859c2f-2d07-4d4d-8981-0b47242aba51.png" width="75%" />

Once configured the software can generate results and standings, apply penalty points and publish to your website all with the click of one button,
you can generate extensive statistics and metrics spanning over years of races with minimal amount of effort and the build in reviews and stewarding
system gives a home to after race discussions about incidents and can also apply automatic penalty points based on a incident category system.
Finally you can either use the webapp directly to share the results with the world or if you already have a league webpage use the API to publish the data in real time.

## Features
A list of supported features by now. The app is in constant development and more features will be added over time. If you miss something for your league don't hesitate to open up a feature request.

- Automated scoring and standings calculation
- Support for heat races, team races and multiclass formats.
- Flexible scoring configurations for a variety of use cases including
- Different points calculations methods
- Multiple result configurations per event (eg. Pro/AM or Multiclass scoring)
- Filters to generate custom result set
- Customizable sorting
- Bonus points (position, pole, least incidents ...)
- Automated penalty points for incidents
- Fully open REST API: access 100% of your league data and publish them to your own webpage
> Access documentation at: [https://irleaguemanager.net/irleagueapi/swagger/index.html](https://irleaguemanager.net/irleagueapi/swagger/index.html)
> Checkout [https://github.com/SSchulze1989/iRLeagueApiCore](https://github.com/SSchulze1989/iRLeagueApiCore)
- Role based user access: Manage admins, organizers and stewards through the role based access system
- Review system
- Register incidents and discuss with other stewards before finalizing the results
> <img src="https://user-images.githubusercontent.com/57634354/211000455-c8b03fc2-0635-4981-81ca-a22907711891.png" width="75%" />
- Automatic penalty points for incident categories
- Protest form to let drivers report incidents from the previous race
9 changes: 9 additions & 0 deletions docs/settings/championships.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Championships

## Championships Explained

## Championships & Seasons

## Result Configuration

## Standing Configuration
Empty file added docs/settings/general.md
Empty file.
Empty file added docs/settings/users.md
Empty file.
19 changes: 19 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
site_name: iRLeagueManager
site_url: https://irleaguemanager.net
nav:
- Home: index.md
- 'Getting Started':
- 'Create Account': getting-started/create-account.md
- 'Create League': getting-started/create-league.md
- 'Events & Results': getting-started/events-and-results.md
- 'Advanced Settings':
- 'General': settings/general.md
- 'Users': settings/users.md
- 'Championships': settings/championships.md
theme: readthedocs
markdown_extensions:
- admonition
- def_list
- attr_list
- pymdownx.tasklist:
custom_checkbox: true
1 change: 0 additions & 1 deletion src/iRLeagueManager.Web/Shared/Header.razor
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@
</Authorized>
<NotAuthorized>
<li><NavLink class="dropdown-item" href="/member/login" @onclick=@(() => NavigateTo($"/member/login?returnUrl={GetReturnUrl()}"))>Login</NavLink></li>
s
</NotAuthorized>
</AuthorizeView>
</ul>
Expand Down
4 changes: 4 additions & 0 deletions src/iRLeagueManager.Web/iRLeagueManager.Web.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,10 @@
<Content Include="Components\Reviews\ReviewCard.razor.css" />
</ItemGroup>

<ItemGroup>
<Content Include="..\..\docs\**" LinkBase="docs" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Blazored.LocalStorage" Version="4.3.0" />
<PackageReference Include="Blazored.Modal" Version="7.1.0" />
Expand Down