Archived all completed OpenSpec changes, created .gitignore, implemented Gitea CI/CD, updated frontend with professional styling and clickable IPs, and added application documentation.
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Identify Backend Local IP Addresses
|
||||
The system SHALL identify all local IP addresses and their corresponding subnets on the host where the backend service is running.
|
||||
|
||||
#### Scenario: Backend on a host with local network interfaces
|
||||
- **WHEN** the backend service starts
|
||||
- **THEN** the system identifies all active local IP addresses and their subnets.
|
||||
|
||||
### Requirement: Determine Preferred Local IP for Services
|
||||
The system SHALL, for each service not exposed via Traefik, determine a "preferred local IP" if any of the service's exposed IPs are within the backend's identified local subnets.
|
||||
|
||||
#### Scenario: Service IP matches a local subnet
|
||||
- **WHEN** a service has an exposed IP address that falls within one of the backend's local subnets
|
||||
- **THEN** that service IP is identified as the "preferred local IP".
|
||||
|
||||
#### Scenario: Service IP does not match any local subnet
|
||||
- **WHEN** a service has exposed IP addresses but none fall within the backend's local subnets
|
||||
- **THEN** no "preferred local IP" is determined for that service.
|
||||
|
||||
### Requirement: Provide All Accessible Service IPs
|
||||
The system SHALL, for each service, provide a comprehensive list of all accessible IP addresses and ports.
|
||||
|
||||
#### Scenario: Service with exposed ports
|
||||
- **WHEN** a service has exposed ports
|
||||
- **THEN** the system provides a list of all IP addresses and ports through which the service can be accessed.
|
||||
@@ -0,0 +1,29 @@
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Clickable Service Cards
|
||||
The system SHALL make the entire service card a clickable link based on the following priority:
|
||||
1. If a Traefik URL is present, use that.
|
||||
2. Else if a preferred local IP is present, use that.
|
||||
3. Else, display all accessible IPs/ports as individual clickable links.
|
||||
|
||||
#### Scenario: Service with Traefik URL
|
||||
- **WHEN** a service card is displayed with a Traefik URL
|
||||
- **THEN** the entire card is a clickable link that opens the Traefik URL in a new tab.
|
||||
|
||||
#### Scenario: Service with Preferred Local IP (no Traefik URL)
|
||||
- **WHEN** a service card is displayed with a preferred local IP but no Traefik URL
|
||||
- **THEN** the entire card is a clickable link that opens the preferred local IP in a new tab.
|
||||
|
||||
#### Scenario: Service with Multiple Accessible IPs/Ports (no Traefik or Preferred Local IP)
|
||||
- **WHEN** a service card is displayed with multiple accessible IPs/ports but no Traefik URL or preferred local IP
|
||||
- **THEN** the card is not clickable as a whole.
|
||||
- **AND** each accessible IP/port is displayed as an individual clickable link that opens in a new tab.
|
||||
|
||||
### Requirement: Professional and Modern UI with Frosted Cards
|
||||
The system SHALL have a professional and modern user interface with a "frosted glass" effect for service cards, improved typography, spacing, and responsive design.
|
||||
|
||||
#### Scenario: Displaying Service Cards
|
||||
- **WHEN** service cards are displayed
|
||||
- **THEN** the cards have a "frosted glass" effect with a blurred backdrop, semi-transparent background, rounded corners, and a subtle box shadow.
|
||||
- **AND** the overall layout utilizes improved typography and spacing for a professional appearance.
|
||||
- **AND** the interface is responsive, adapting to various screen sizes.
|
||||
Reference in New Issue
Block a user