The main goal of this app is to verify whether is client's computer behind NAT or not. Of course our clients won't run this test just because. So we have to add additional functionality like speed test, ping and traceroute.
- runs inside browser
- does ping to hosts specified in config
- does traceroute to hosts specified in config
- does speed test ( upload speed, download speed )
- most important: checks behind NAT status
- every operation has to be stored in DB ( but transmission to DB server needs to be encrypted - RSA )
- additionally - we have to see what client do in realtime ( it means that we should see results of particular test just after client it do )
Client means - our customer.
Client is identified by IP address.
Communication with database has to be made through extra service - DBConnector, because of security reasons.