Skip to content

A Desktop application that allows users to monitor, track, and limit the execution time of specific processes on their system. It includes a real-time background service that automatically terminates processes exceeding their allowed usage time.

Notifications You must be signed in to change notification settings

zKlau/ParentalControlApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

A Desktop application that allows users to monitor, track, and limit the execution time of specific processes on their system. It includes a real-time background service that automatically terminates processes exceeding their allowed usage time.

Goals

  • Create and edit users
  • Add processes and urls to track for each user
  • Create and Edit system events
  • Track time for each process
  • Track time for each url (not priority for now)
  • Push system notifications
  • Allow admin to connect remotely to the system
  • Edit processes
  • Stop process from running when reaching a time limit
  • Stop webpage from running
  • User interface
  • Lock system after x hour
  • Show app in system tray
  • Run at startup without requiring admin password (does not allow modifications without the password)
  • Admin password required to change settings or to close the app
  • Dashboard showing the most used processes and daily use time

Setup

Make sure you have Java 21+ and Maven installed and properly configured in your environment.

Make sure you have Maven installed and properly configured on your system.

  1. Clone de repository
    git clone https://github.com/zKlau/ParentalControl.git
    cd ParentalControl
  1. Build the Project
    mvn clean install
  1. Run the application
    mvn javafx:run

PRESENTATION

On first boot, you will be required to create an admin password and a user.
create user.png

On future runs, only the admin password will be required.
admin-login.png

The first page the admin sees is the processes page. Here, the admin can add Windows processes or website URLs. You can set a time limit for these processes so that after using an app for a certain amount of time, it will automatically close. For URLs, you can block them completely without requiring a time limit. A time limit of 0 means no time limit.
processes.png Adding a process is as easy as selecting the executable or simply typing in the app name. For URLs, just input the website address, like www.zklau.com.

add process.png

The next page is the events page. Here, you can add events that will occur occasionally or just one time.
events.png

This window allows you to set the event type, hour, and minute. To make sure the event runs at a specific hour, select "Event running at". If you want the event to run after some time, select "Event running after". Pressing the repeat button will make sure the event repeats and is not deleted after its first run.
add event.png

The third page shows user creation and deletion.
users.png

create user.png

The last page displays important information about the time spent on the computer. Here, you can see how many hours have been spent each day and how many total hours the user has in a specific app. dashboard.png

The full JavaDoc is available in Main.html

About

A Desktop application that allows users to monitor, track, and limit the execution time of specific processes on their system. It includes a real-time background service that automatically terminates processes exceeding their allowed usage time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published