-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Removed time_spent logging as it is little buggy. Other cosmetic chan…
…ges, added README.txt file
- Loading branch information
Showing
10 changed files
with
268 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
document.addEventListener('DOMContentLoaded', function() { | ||
var checkPageButton = $('#checkPage'); | ||
checkPageButton.on('click', function() { | ||
console.log("Cliked on checkPage"); | ||
// console.log("Cliked on checkPage"); | ||
window.open('https://localhost:5000', '_blank'); | ||
win.focus(); | ||
|
||
}); | ||
}, false); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
Implementation Details: | ||
The assignment is implemented using flask (python 2.7) and sqlite3 for backend and javascript, jquery for frontend | ||
Folder structure: Main folder contains following folders. | ||
Page-tracking-extension - contains all the browser extension files | ||
static - css and jquery files | ||
templates - html pages | ||
|
||
Setup Details: | ||
Since the project is implemented in sqlite3 without ORM, it doesn't need any standalone database installation. However some python packages are required which are mentioned in requirements.txt in main project folder. | ||
"requirements.txt" is formed using "pip freeze > <file_name>" which lists out all the packages used in the project. To install all these packages, simply run "pip install -r requirements.txt" from project folder | ||
|
||
Database is present in UserTracking.db which four tables. | ||
UserActions - Main table to store user actions to access them in profile page | ||
UserDetails - LogIn and password details pf the user - Already contains 3 users | ||
UserHistory - Stores the login history of the user | ||
ObjectDetails - Contains question and answer details taken from the page | ||
|
||
Install browser extension: | ||
1) Open Chrome and go to "chrome://extensions" | ||
2) Make sure "Developer Mode" checkbox is checked | ||
3) Click "Load unpacked extension" and select the Page-tracking-extension folder in the project directory | ||
4) Make sure it is "Enabled" | ||
This will install the browser extension. | ||
|
||
How to run the application: | ||
1) Open terminal from project folder | ||
2) Install dependencies - "pip install -r requirements.txt" | ||
3) Run "python app.py" - this starts the server | ||
4) Open browser and access "https://localhost:5000" | ||
--- OR --- | ||
Click on "Go to HomePage" button in the popup of chrome extension | ||
|
||
Features Implemented: | ||
1) Login page shows a form to take login and password data, shows previous login history | ||
2) Once logged in, app redirects to profile page where you can see the description of the actions being tracked and the user's behavioral logging data | ||
3) At each screen, you have an option to add new user by clicking on "Add User" which redirects to another page to take new userid and new password as input | ||
4) The application already consists of three users - "aaa", "bbb" and "ccc", all with password - "123" | ||
5) Six actions are begin tracked by the application and it's details can be see in profile page once logged in | ||
|
||
Note: | ||
1) The web application is using a https server | ||
2) Starting page for the application would be /login.html | ||
3) Local URL - https://localhost:5000 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
alabaster==0.7.10 | ||
anaconda-client==1.6.3 | ||
anaconda-navigator==1.6.2 | ||
anaconda-project==0.6.0 | ||
asn1crypto==0.22.0 | ||
astroid==1.4.9 | ||
astropy==1.3.2 | ||
Babel==2.4.0 | ||
backports-abc==0.5 | ||
backports.shutil-get-terminal-size==1.0.0 | ||
backports.ssl-match-hostname==3.4.0.2 | ||
beautifulsoup4==4.6.0 | ||
bitarray==0.8.1 | ||
blaze==0.10.1 | ||
bleach==1.5.0 | ||
bokeh==0.12.5 | ||
boto==2.46.1 | ||
Bottleneck==1.2.1 | ||
cdecimal==2.3 | ||
cffi==1.10.0 | ||
chardet==3.0.3 | ||
click==6.7 | ||
cloudpickle==0.2.2 | ||
clyent==1.2.2 | ||
colorama==0.3.9 | ||
conda==4.3.21 | ||
configparser==3.5.0 | ||
contextlib2==0.5.5 | ||
cryptography==1.8.1 | ||
cycler==0.10.0 | ||
Cython==0.25.2 | ||
cytoolz==0.8.2 | ||
dask==0.14.3 | ||
datashape==0.5.4 | ||
decorator==4.0.11 | ||
distributed==1.16.3 | ||
docutils==0.13.1 | ||
entrypoints==0.2.2 | ||
enum34==1.1.6 | ||
et-xmlfile==1.0.1 | ||
fastcache==1.0.2 | ||
Flask==0.12.2 | ||
Flask-Cors==3.0.3 | ||
Flask-Login==0.4.0 | ||
Flask-SQLAlchemy==2.2 | ||
funcsigs==1.0.2 | ||
functools32==3.2.3.post2 | ||
futures==3.1.1 | ||
gevent==1.2.1 | ||
greenlet==0.4.12 | ||
grin==1.2.1 | ||
gunicorn==19.7.1 | ||
h5py==2.7.0 | ||
HeapDict==1.0.0 | ||
html5lib==0.999 | ||
idna==2.5 | ||
imagesize==0.7.1 | ||
ipaddress==1.0.18 | ||
ipykernel==4.6.1 | ||
ipython==5.3.0 | ||
ipython-genutils==0.2.0 | ||
ipywidgets==6.0.0 | ||
isort==4.2.5 | ||
itsdangerous==0.24 | ||
jdcal==1.3 | ||
jedi==0.10.2 | ||
Jinja2==2.9.6 | ||
jsonschema==2.6.0 | ||
jupyter==1.0.0 | ||
jupyter-client==5.0.1 | ||
jupyter-console==5.1.0 | ||
jupyter-core==4.3.0 | ||
lazy-object-proxy==1.2.2 | ||
llvmlite==0.18.0 | ||
locket==0.2.0 | ||
lxml==3.7.3 | ||
MarkupSafe==1.0 | ||
matplotlib==2.0.2 | ||
mistune==0.7.4 | ||
mpmath==0.19 | ||
msgpack-python==0.4.8 | ||
multipledispatch==0.4.9 | ||
navigator-updater==0.1.0 | ||
nbconvert==5.1.1 | ||
nbformat==4.3.0 | ||
networkx==1.11 | ||
nltk==3.2.3 | ||
nose==1.3.7 | ||
notebook==5.0.0 | ||
numba==0.33.0+0.ge79330a.dirty | ||
numexpr==2.6.2 | ||
numpy==1.12.1 | ||
numpydoc==0.6.0 | ||
odo==0.5.0 | ||
olefile==0.44 | ||
openpyxl==2.4.7 | ||
packaging==16.8 | ||
pandas==0.20.1 | ||
pandocfilters==1.4.1 | ||
partd==0.3.8 | ||
pathlib2==2.2.1 | ||
patsy==0.4.1 | ||
pbr==3.1.1 | ||
pep8==1.7.0 | ||
pexpect==4.2.1 | ||
pickleshare==0.7.4 | ||
Pillow==4.1.1 | ||
ply==3.10 | ||
prompt-toolkit==1.0.14 | ||
psutil==5.2.2 | ||
ptyprocess==0.5.1 | ||
py==1.4.33 | ||
pycairo==1.10.0 | ||
pycosat==0.6.2 | ||
pycparser==2.17 | ||
pycrypto==2.6.1 | ||
pycurl==7.43.0 | ||
pyflakes==1.5.0 | ||
Pygments==2.2.0 | ||
pylint==1.6.4 | ||
pyodbc==4.0.16 | ||
pyOpenSSL==17.0.0 | ||
pyparsing==2.1.4 | ||
pytest==3.0.7 | ||
python-dateutil==2.6.0 | ||
pytz==2017.2 | ||
PyWavelets==0.5.2 | ||
PyYAML==3.12 | ||
pyzmq==16.0.2 | ||
QtAwesome==0.4.4 | ||
qtconsole==4.3.0 | ||
QtPy==1.2.1 | ||
requests==2.14.2 | ||
rope==0.9.4 | ||
scandir==1.5 | ||
scikit-image==0.13.0 | ||
scikit-learn==0.18.1 | ||
scipy==0.19.0 | ||
seaborn==0.7.1 | ||
simplegeneric==0.8.1 | ||
simplejson==3.11.1 | ||
singledispatch==3.4.0.3 | ||
six==1.10.0 | ||
snowballstemmer==1.2.1 | ||
sortedcollections==0.5.3 | ||
sortedcontainers==1.5.7 | ||
Sphinx==1.5.6 | ||
spyder==3.1.4 | ||
SQLAlchemy==1.1.9 | ||
statsmodels==0.8.0 | ||
stevedore==1.25.0 | ||
subprocess32==3.2.7 | ||
sympy==1.0 | ||
tables==3.3.0 | ||
tblib==1.3.2 | ||
terminado==0.6 | ||
testpath==0.3 | ||
toolz==0.8.2 | ||
tornado==4.5.1 | ||
traitlets==4.3.2 | ||
unicodecsv==0.14.1 | ||
update==0.4.4 | ||
virtualenv==15.1.0 | ||
virtualenv-clone==0.2.6 | ||
virtualenvwrapper==4.7.2 | ||
wcwidth==0.1.7 | ||
Werkzeug==0.12.2 | ||
widgetsnbextension==2.0.0 | ||
wrapt==1.10.10 | ||
xlrd==1.0.0 | ||
XlsxWriter==0.9.6 | ||
xlwt==1.2.0 | ||
zict==0.1.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters