From 2ef7be585de9c8d53d179bc52b07ddd99dd3fb6d Mon Sep 17 00:00:00 2001 From: Tudor Stanciu Date: Sat, 29 Mar 2025 15:34:48 +0200 Subject: [PATCH] Update README.md for improved clarity and formatting of core components --- README.md | 15 +++++++++++---- backend/README.md | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index efba2f1..3d386d3 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,27 @@ # Network Resurrector -Everything should be manageable remotely—even powered-off servers. This need led to the creation of **Network Resurrector**, a tool I developed to wake up machines that don't need to be powered on at all times. +Everything should be manageable remotely�even powered-off servers. This need led to the creation of **Network Resurrector**, a tool I developed to wake up machines that don't need to be powered on at all times. The system consists of five core components that provide essential functionality. Additional components can be integrated to enhance features like notifications and logging. ## Core Components ### Frontend -The [frontend](https://lab.code-rove.com/gitea/tudor.stanciu/network-resurrector-frontend) is a **React.js**-based web application that provides a user-friendly interface for managing the system. + +The frontend is a **React.js**-based web application that provides a user-friendly interface for managing the system. ### API + The API is a **.NET 8 REST API** responsible for handling communication between the frontend, database, and server components. It facilitates data exchange and enables actions such as waking or shutting down machines. ### Server + The server component is a **.NET 8** service that performs **Wake-on-LAN**, **Ping**, and **Shutdown** actions for machines within its network or any accessible network. ### Agent + The agent is a **.NET 8** service that can execute various power-related actions on the host machine, including: + - **Shutdown** - **Restart** - **Sleep** @@ -26,6 +31,7 @@ The agent is a **.NET 8** service that can execute various power-related actions These actions can be executed immediately or scheduled with a delay, allowing cancellation before execution. #### How It Works + 1. A user triggers an action (e.g., wake or shutdown) via the UI. 2. The frontend sends the request to the API. 3. The API determines whether the **Agent** or **Server** should execute the action and forwards the request. @@ -34,6 +40,7 @@ These actions can be executed immediately or scheduled with a delay, allowing ca The agent can be installed on multiple machines as needed. ### Tuitio + [Tuitio](https://lab.code-rove.com/gitea/tudor.stanciu/tuitio) is my personal identity server, handling user authentication and request authorization. For more details, refer to the [Tuitio documentation](https://lab.code-rove.com/gitea/tudor.stanciu/tuitio/src/branch/master/README.md). All communication between the core components is done via **HTTP**. @@ -50,7 +57,7 @@ The notification system is designed to inform users about system actions (e.g., ```json { - "To": [ "user@homelab.com" ], + "To": ["user@homelab.com"], "Subject": "Network Resurrector: Machine {MACHINE_NAME} has been powered on. Status: {ACTION_STATUS}", "Body": "Hello,{NEWLINE:2}Network Resurrector processed a command to start machine {MACHINE_FULLNAME} with IP {MACHINE_IP} at {SYSTEM_DATETIME}.{NEWLINE}The assigned performer for this action was {ACTION_PERFORMER}.{NEWLINE}Action status: {ACTION_STATUS}{NEWLINE:2}Best regards,{NEWLINE}Network Resurrector Notification System." } @@ -77,6 +84,7 @@ Currently, **Microsoft SQL Server** is the only supported database. Future versi ## Logging Logging is managed with **Serilog**, configurable via `appsettings.json`. Logs can be stored in: + - **SQL Server** - **Seq** @@ -101,4 +109,3 @@ These logging destinations can be enabled or disabled based on requirements. If ## Hosting All components of **Network Resurrector** are built using cross-platform technologies, allowing deployment in any environment that supports them. - diff --git a/backend/README.md b/backend/README.md index efba2f1..d221221 100644 --- a/backend/README.md +++ b/backend/README.md @@ -7,7 +7,7 @@ The system consists of five core components that provide essential functionality ## Core Components ### Frontend -The [frontend](https://lab.code-rove.com/gitea/tudor.stanciu/network-resurrector-frontend) is a **React.js**-based web application that provides a user-friendly interface for managing the system. +The frontend is a **React.js**-based web application that provides a user-friendly interface for managing the system. ### API The API is a **.NET 8 REST API** responsible for handling communication between the frontend, database, and server components. It facilitates data exchange and enables actions such as waking or shutting down machines.