rickcooke / bigbrother Goto Github PK
View Code? Open in Web Editor NEWEECS 285 Final project
EECS 285 Final project
When a user is deleted what do you want to do with stats that contain that user ID? CASCADE delete?
In Client.poll():
This would be more efficient time-wise and processing power than the current loop through every element to find matches.
What should we do about changing settings when there are already stats in the database?
I think perhaps we should detect if stats exist, if so when you open the settings dialog it will lock all the fields and give a button "reset". You must reset aka wipe the stats before you can change settings.
This is because the stats are reliant on the settings.
Not sure we need this, but it'd help.
You can enter admin GUI without any creditals. Also it keeps all the timers from client, it should kill the client and just display logout.
Infact the functionality of Admin and logout are identical so, there is no need for Admin.
Suggestion: Delete admin from taskbar
Should be pretty simple, would just need to implement a compare function for UserLite, AppLite, and then sort the lists using a standard sort function passing in that compare function
Add in comments detailing use
Logout can be called when not even logged in, and creates multiple forms.
Also when logging out of a logged in user, the timers still exist and don't get destroyed.
My suggestion is not even have a logout option. If someone logged into the wrong user they should exit the program and open it again.
Henry had it this way with his statsGUI... Mine exits on close press. Probably simple fix
Ignore this if we arent using my statsGUi
Validate regex by catching error and rethrowing
Modulo graph labels
App Names for legends
thicker lines/better colors
graph title as date
Function: SingleSelectGUI.deleteItem(int selectType)
Deleting an app: Are we deleting an app, or the user->app link? or just making the link inactive? currently active is bound to an app so it would get inactivated for all users, which we don't want (do we?).
Deleting a user: Should we make a user active field? that would make this simple, we would just set them as inactive. Or we could delete the users entry, user_apps entries, and all stats?
The system tray icon hangs when I uncomment the automatic login at the bottom of the LoginGUI constructor and try to login manually. The login completes fine and the window closes, but I am unable to interact with the tray icon at all and am forced to stop the program.
Currently we just loop through all of the user's tracked apps till we find them. can we guarantee they will be the first 2 returned via SQL? set their appID to 0 and order by appID?
Should be simple, just pulling data from text fields, checking for validity, checking if something already exists, and preparing the SQL query.
Functions are UserGUI.submitNewUser() and UserGUI.submitEditUser()
Suggestion: if both window name and process name exist, push to front of list, otherwise push to back. Keeps list "sorted"
We need a Datepicker for the start_date of the settings menu.
Possibly this one: https://github.com/JDatePicker/JDatePicker
Should be simple, just pulling data from text fields, checking for validity, checking if something already exists, and preparing the SQL query.
Functions are AppGUI.submitNewApp() and AppGUI.submitEditApp()
settings should display what they currently are in the database, and allow the user to change them only if needed. As is, if a user edits a different setting, the start date ALSO gets updated without their input or knowledge.
If we want to do this, we just need to change the toString() functions in UserLite and AppLite.
Two lists and you monitor and unmonitor apps by clicking the arrow buttons
Here is picture:
If the user selects "Exit" in the File menu of the Admin GUI, currently I set it to simply close the admin window, but keep the client running. Do we want to keep it this way, or also kill the client?
If so, we just need to add a call to Client.destroy().
Also change label
Format code under correct 285 xml
Check for data at the beginning in for null
Pie charts for total usage
User GUI isn't laid out ideally, especially for MacOS.
If an app is created and tracked with blank process name and window name, it matches 100% of the time. This leads to it matching everything and effectively preventing any matches from occuring later on in the application list.
Suggestion: check to make sure at least one of the two exists at all times.
EDIT: alternatively, have a check in App.isMatch that just returns false in that case.
Is there a better way to keep the client running in the background than the:
while (true)
Thread.sleep(999999999);
part of the Client constructor?
Don't allow BigBrother to have 2 open instances, this will avoid a lot of issues.
If we have time we should figure out a better way to do it.
If no data is found, display msgbox that no data exists for that user with that date range.
moving between units changes the numbers (ms->hours->ms, etc), probably an integer rounding issue.
Currently moving an app from one window to the other does nothing as far as which apps are monitored. Is there a reason for this? Will work correcting unless told to do otherwise.
Add some type of confirmation of login for user, perhaps a tooltip from the icon
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.