Complex solution for monitoring, remote & parental control of a Windows PC through a web application. Some features include displaying user activity and computer parameters, sending both text and text-to-speech messages to the PC, killing processes, locking access to websites and apps.
- .NET
- Windows service
- WPF
- ASP.NET Web API
- ASP.NET MVC
- Entity Framework
- Azure SQL Server.
- SignalR
- Bootstrap
Logging into the apps
Desktop app
After creating an account through the web app, the user can use those credential to log into the desktop app. As shown below, the desktop app also lets selecting an app to block for a selected user. Another functionality is choosing which users should be affected by the system. The credentials are stored for later use in Windows Credential Manager.
Web app
When the user has logged in via the desktop app, it becomes possible to access this computer through the web app.
Checking computer status
Web app displays basic computer details such as name, CPU, GPU, disk partitions. There is also a log that shows in real-time what service installed on target PC is currently doing.
Checking time spent by each user
A time of being logged in and being active is measured for each user of the computer. The web app allows checking both of that time values for all users of the PC. The graph on the bottom of the selected computer's page shows the distribution of computer usage over time.
Setting up time limits, blocked apps and websites per user
Time limits
Setting a time limit causes automatic logoff of the selected user after due time. There are text-to-speech reminders which fire up 20, 10, 5, 2 and 1 minutes before logoff will occur.
Blocked websites
Setting a website as blocked adds it to the hosts file and sets it to the loop-back address making it mostly inaccessible.
Blocked apps
Blocking an app beside using the desktop app can also be done through the web app. Doing it that way requires the user to input a direct path to the application. Blocking an app is implemented by periodically checking the processes list and killing it when it's running.
Sending messages to the computer
Text messages
The user can send text messages that will be displayed using a message box on the screen of the selected computer.
Text-to-speech messages
Another form of communication is sending a text message that will be then read out loud by the speech synthesizer. The application tries to select the first English voice it finds, otherwise will use any other voice.
Managing processes
User can browse a list of all the processes running currently on the computer. System processes are marked with reddish names. Selecting the process opens a dialog that shows details such as path, copyright info, PID, the session in which it is running and also lets user kill the selected process. The refresh option refreshes the list of processes.