Please take your time to read and understand this document or do not bother responding, because your response will be ignored.
My company designs and manufactures computer-based networked devices.
The customer's device (let's call it The Server) runs headless on their LAN and so there is a need to interface with it over the home network from another device that can run a browser - it runs Apache and runs as a web-app for all interactions. This requires network discovery and many customers' networks make that challenging.
To be clear, we already have the software (under license) to run the entire customer browser-based interaction, except for network discovery.
The network discovery solution required is as follows, broken into 3 stages
STAGE 1 - SERVER TO WEBSITE COMMUNICATIONS
When the customer turns The Server on (ie. boots it up), and a network connection is obtained, The Server is to send a message to a website (call it The Website) hosted out in the internet, not in the LAN. The message is to report its LAN-side IP Address plus a couple of other things like sysName, and its WAN-side IP Address (or this is discerned).
At The Website end, this information is to be stored in a database.
When the customer turns The Server off (ie. shuts it down or restarts it), before the network service is terminated, the server is to send a message to The Website with enough information in it to match to the database record, and says 'goodbye'.
At The Website end, this causes the database record to be deleted.
Therefore The Website maintains a record of every device supplied by us that is currently running and connected to the internet.
You MUST have sufficient Fedora Linux proficiency to be able to address this need - otherwise please do not submit a proposal.
STAGE 2 - WEBSITE DYNAMIC INFORMATION DISPLAY
The customer uses any browser on any device to browse to The Website. The Website discerns the WAN-side IP Address of the customer and the landing page lists the Server or Servers purchased from us that have 'live' database records, at that WAN-side IP Address. As an admin, we can see all Servers connected by IP Address range to understand location. Therefore the Website is a simple landing page but with dynamic data displayed.
STAGE 3 - WEBSITE LINKS
The Website to be handed over at completion, is to include the ability for us to easily add any menu or button based hyperlink that dynamically uses the LAN-side IP Address of the listed Server. Therefore, for each server listed on the website for a customer, there will be clickable links that start with the LAN-side IP Address of the server, and end with the page's address, so that the customer can be directed to the respective page of the Server's browser-based interface. The ability to easily add other static links is also required. These links should be able to be added in html with minimal PHP embedded.
To test whether you actually read this brief, any proposal that does not start with the word 'FEDORA' will be ignored. We will also ignore all proposals that fail to demonstrate some understanding of the project.