Skip to content

Commit

Permalink
Merge pull request #148 from hargata/Hargata/documentation
Browse files Browse the repository at this point in the history
Hargata/documentation
  • Loading branch information
hargata authored Jan 26, 2024
2 parents 43979d6 + 8c6dd5e commit 3314994
Show file tree
Hide file tree
Showing 6 changed files with 201 additions and 3 deletions.
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

A self-hosted, open-source vehicle service records and maintainence tracker.

Visit our website: https://lubelogger.com

Support this project on Patreon: https://patreon.com/LubeLogger

## Why
Expand All @@ -10,6 +12,11 @@ Because nobody should have to deal with a homemade spreadsheet or a shoebox full
## Screenshots
<a href="/docs/screenshots.md">Screenshots</a>

## Demo
Try it out before you download it! The live demo resets every 20 minutes.

[Live Demo](https://demo.lubelogger.com) Login using username "test" and password "1234"

## Dependencies
- Bootstrap
- LiteDB
Expand All @@ -22,7 +29,7 @@ Because nobody should have to deal with a homemade spreadsheet or a shoebox full
1. Install Docker
2. Run `docker pull ghcr.io/hargata/lubelogger:latest`
3. CHECK culture in .env file, default is en_US, this will change the currency and date formats. You can also setup SMTP Config here.
4. If not using traefik, use docker-compose-notraefik.yml
4. If using traefik, use docker-compose.traefik.yml
5. Run `docker-compose up`

## Docker Setup (Manual Build)
Expand All @@ -31,7 +38,7 @@ Because nobody should have to deal with a homemade spreadsheet or a shoebox full
3. CHECK culture in .env file, default is en_US, also setup SMTP for user management if you want that.
4. Run `docker build -t lubelogger -f Dockerfile .`
5. CHECK docker-compose.yml and make sure the mounting directories look correct.
6. If not using traefik, use docker-compose-notraefik.yml
6. If using traefik, use docker-compose.traefik.yml
7. Run `docker-compose up`

## Additional Docker Instructions
Expand Down
21 changes: 21 additions & 0 deletions docs/documentation/Collaboration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Sharing your Vehicles and Collaborating with Other Users

LubeLogger allows you to collaborate on vehicles so that more than one user can add or edit records on a vehicle.

To share a vehicle, simply navigate into the Vehicle's Dashboard, and look to the bottom left

![image](https://github.com/hargata/lubelog/assets/155338622/76eda35f-5547-47d9-91cb-3fbf30d2a3d9)

Click on the little blue button with a User Add icon and you will be prompted to enter the user's username

![image](https://github.com/hargata/lubelog/assets/155338622/6bbcc309-a790-48e0-91fa-24c57df20531)

**Note:** The username is case sensitive and the user must exist in the system.

Once you have added the user, their username will then show up in the list of Collaborators

![image](https://github.com/hargata/lubelog/assets/155338622/edac8c3b-eb3e-411d-ab45-e54cb66206f3)

Now the user can view and edit the vehicle as well:

![image](https://github.com/hargata/lubelog/assets/155338622/85b0aacf-ae5c-4361-8d1c-32f9ec637a5b)
51 changes: 51 additions & 0 deletions docs/documentation/Configuring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Configuring LubeLogger
In order to provide the best possible user experience, we have provided ample amount of flexibility when it comes to user settings.
Upon initial launch, you are using the Root User by default without any authentication, so you will have access to all of the settings.

![image](https://github.com/hargata/lubelog/assets/155338622/cf73ff68-e79b-468d-84fb-375e481cbadd)

Most of the settings are relatively straightforward and self-explanatory.

**Note:** If you are a user in the UK and you wish be able to input Fuel Purchases in Liters but display Fuel Mileage as Miles Per UK Gallons, you will need to enable "Use Imperial Calculation" and "Use UK MPG Calculation"

**Note:** When making changes to Settings as a root user, your settings will be saved and served up as the default server settings for any new users that sign up.

## Enable Authentication
It is highly recommended that you secure your LubeLogger instance by enabling authentication.
To do so, simply check "Enable Authentication" and you will be prompted to enter a Username and Password

![image](https://github.com/hargata/lubelog/assets/155338622/4d8b1855-e437-4ade-999b-3dd6ea19e55f)

The credentials that you set up here are the credentials for the Root User, aka the Super Admin, and shouldn't be shared with anyone else.

Once you have entered the credentials, you will then be redirected to a Login page

![image](https://github.com/hargata/lubelog/assets/155338622/26181116-5a03-48cf-972d-89a4b1050cce)

Simply enter the credentials you have just set up and you will be logged right in

![image](https://github.com/hargata/lubelog/assets/155338622/20d9a3b9-80de-4a32-8cb6-1100dd237dbd)

## Setting Up Multiple Users
To set up multiple users, all you have to do is click on the dropdown that has your username on it and select "Admin Panel"

![image](https://github.com/hargata/lubelog/assets/155338622/75f32408-b9f3-4e2c-bec6-ea1c196c3438)

If you have SMTP configured correctly, the "Auto Notify(via Email) switch will be enabled and checked, otherwise it will be disabled/grayed out.
Without SMTP Configured:

![image](https://github.com/hargata/lubelog/assets/155338622/9d75ab55-afb7-4d3e-b830-3191de23695c)

With SMTP Configured:

![image](https://github.com/hargata/lubelog/assets/155338622/d9995c30-dd47-44d1-a73d-39f0f129450b)

To generate a new user token, simply click on the "Generate User Token" button and you will be prompted with the user's email address

![image](https://github.com/hargata/lubelog/assets/155338622/f870d5cd-4d4b-480c-94ea-b1161757793f)

If you have SMTP Configured, the user will then receive an Email that looks similar to this:
![image](https://github.com/hargata/lubelog/assets/155338622/0d5c1adf-43d1-45a5-ad59-91fb3b1476af)

The user can then proceed to Register for an account at your instance of LubeLogger.

75 changes: 75 additions & 0 deletions docs/documentation/GettingStarted.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Getting Started
## Docker
The Docker Container Repository is the most reliable and up-to-date distribution channel for LubeLogger.
You need to have Docker Windows installed and Virtualization enabled(typically a BIOS setting).

You will then clone the following files onto your computer from the repository _.env_ and _docker-compose.yml_ or _docker-compose-traefik.yml_ if you're using Traefik.

In the .env file you will find the following and here are the explanations for the variables.
```
LC_ALL=en_US.UTF-8 <- Locale and Language Settings, this will affect how numbers, currencies, and dates are formatted.
LANG=en_US.UTF-8 <- Same as above. Note that some languages don't have UTF-8 encodings.
MailConfig__EmailServer="" <- Email SMTP settings used only for configuring multiple users(to send their registration token and forgot password tokens)
MailConfig__EmailFrom="" <- Same as above.
MailConfig__UseSSL="false" <- Same as above.
MailConfig__Port=587 <- Same as above.
MailConfig__Username="" <- Same as above.
MailConfig__Password="" <- Same as above.
```

Once you're happy with the configuration, run the following commands to pull down the image and run container.
```
docker pull ghcr.io/hargata/lubelogger:latest
docker-compose up
```
By default the app will start listening at localhost:8080, this port can be configured in the docker-compose file.

## Windows Standalone Executable
Windows Standalone executables are provided on a request basis, and will usually be included with every other release.

To run the server, you just have to double click on CarCareTracker.exe

Occassionally you might run into an issue regarding a missing folder, to fix that, just create a "config" folder where CarCareTracker.exe is located.

If you wish to set up SMTP when using this approach, you will have to configure the environment settings in appsettings.json located in the same folder as CarCareTracker.exe
You just have to add the MailConfig section into it, but I provided the full appsettings.json anyways as an example.
```
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"UseDarkMode": false,
"EnableCsvImports": true,
"UseMPG": true,
"UseDescending": false,
"EnableAuth": false,
"HideZero": false,
"EnableAutoReminderRefresh": false,
"EnableAutoOdometerInsert": false,
"UseUKMPG": false,
"UseThreeDecimalGasCost": true,
"VisibleTabs": [ 0, 1, 4, 2, 3, 6, 5, 8 ],
"DefaultTab": 8,
"UserNameHash": "",
"UserPasswordHash": "",
"MailConfig": {
"EmailServer": "",
"EmailFrom": "",
"UseSSL": true,
"Port": 587,
"Username": "",
"Password": ""
}
}
```
When using this approach, the default port the app will be listening on is 5000, so you will navigate to localhost:5000

## Test that It Works
Whichever path you choose, once you get the app up and running, just navigate to the IP address and port the server is listening to and you should be able to see the app
![image](https://github.com/hargata/lubelog/assets/155338622/a32c40ce-271c-406b-a211-c1f2af138418)
![image](https://github.com/hargata/lubelog/assets/155338622/4e1c913c-001e-43fd-9b56-4ecffdfd4c2e)
22 changes: 22 additions & 0 deletions docs/documentation/Registration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Registration
Once they user have receive an email containing their LubeLogger token(pictured below), they can then register for an account.

![image](https://github.com/hargata/lubelog/assets/155338622/80ef7208-bfaa-4cab-ba0e-c0a3ed6f255e)

They can do so by navigating to your LubeLogger instance and clicking on the "Register" link.

![image](https://github.com/hargata/lubelog/assets/155338622/99c1538d-5cfa-4ac8-8946-ef9eb7dfef9a)

Then they just have to provide the token and their email address along with their set of credentials

![image](https://github.com/hargata/lubelog/assets/155338622/c55d7d2d-1366-4fcf-970f-513e92a93c7a)

**Note:** The email address and token are CASE SENSITIVE and MUST be identical to the email address that the token is generated for.

![image](https://github.com/hargata/lubelog/assets/155338622/b77d49ef-d3e3-43bf-9792-360f305ad379)

Once the user has registered successfully, they can then log in using their credentials.

You can also verify that in your panel the token is deleted and the user now shows up under list of users:

![image](https://github.com/hargata/lubelog/assets/155338622/2f4a622a-cb44-4ba9-8b5d-691f677fee3d)
24 changes: 23 additions & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,21 @@ <h6 class="display-6 text-center">Features</h6>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 d-flex justify-content-center">
<h6 class="display-6 text-center">Try It Out</h6>
</div>
</div>
<div class="col-12 d-flex justify-content-center">
<p class="lead">
Live demo available <a href="https://demo.lubelogger.com">here</a>
</p>
</div>
<div class="col-12 d-flex justify-content-center">
<p class="lead">Login to the demo using the username "test" and password "1234". The demo site resets every 20 minutes.
</p>
</div>
<hr>
<div class="row">
<div class="col-12 d-flex justify-content-center">
<h6 class="display-6 text-center">Where to Download</h6>
Expand Down Expand Up @@ -170,7 +185,14 @@ <h6 class="display-6 text-center">Where to Download</h6>
<hr>
<div class="row">
<div class="col-12 d-flex justify-content-center">
<p class="lead">LubeLogger is proudly developed in Price Utah by Hargata Softworks
<h6 class="display-6 text-center">About</h6>
</div>
<div class="col-12 d-flex justify-content-center">
<p class="lead">LubeLogger is proudly developed in Price Utah by Hargata Softworks.
</p>
</div>
<div class="col-12 d-flex justify-content-center">
<p class="lead"><a href="https://www.patreon.com/LubeLogger">Support us on Patreon</a>
</p>
</div>
<div class="col-12 d-flex justify-content-center">
Expand Down

0 comments on commit 3314994

Please sign in to comment.