https://github.com/bonk-dev/xeonpwm-api
XEON PWM is an application which I developed to control my server fans using my makeshift controller.
https://github.com/bonk-dev/xeonpwm-api
aspnetcore c-sharp dotnet pwm pwm-driver serialport signalr token-based-authentication
Last synced: about 1 month ago
JSON representation
XEON PWM is an application which I developed to control my server fans using my makeshift controller.
- Host: GitHub
- URL: https://github.com/bonk-dev/xeonpwm-api
- Owner: bonk-dev
- License: mit
- Created: 2024-05-20T08:54:07.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-20T08:56:36.000Z (about 2 years ago)
- Last Synced: 2025-02-25T09:24:15.929Z (over 1 year ago)
- Topics: aspnetcore, c-sharp, dotnet, pwm, pwm-driver, serialport, signalr, token-based-authentication
- Language: C#
- Homepage:
- Size: 126 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# XEON PWM Panel

XEON PWM is an application which I developed to control my server fans using my makeshift controller.
This is the backend part. It uses the
[ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core) framework.
Settings and users are stored in a Sqlite
database using the [EF Core](https://learn.microsoft.com/en-us/ef/core/) framework.
[SignalR](https://learn.microsoft.com/en-us/aspnet/core/signalr/introduction) (websocket)
is used to update temperatures etc.
I chose to implement [my own authentication scheme/handler](XeonPwm.Api/Auth/TokenAuthHandler.cs)
because I did not want to use JWT for sessions and I did not like the built-in Identity system.
## Other repos
Links to related repos:
- React app: [xeonpwm-ui](https://github.com/bonk-dev/xeonpwm-ui)
## Features
- manual mode
- automatic control based on current temperature
## Run the app
Here is how you can run the app:
1. Clone the repo
2. Change the settings (appsettings.(Development.)json))
3. `cd XeonPwm.Api && dotnet run`
Keep in mind that the API needs a working Arduino controller.
## Screenshots
### Dashboard

### Login panel
