Add images

This commit is contained in:
R. Miles McCain 2020-04-17 12:08:23 -04:00
parent 7a87a0b5b3
commit 6219cc106e
No known key found for this signature in database
GPG Key ID: 91CB47BDDF2671A5
3 changed files with 37 additions and 24 deletions

View File

@ -4,6 +4,7 @@
<p align="center">
Web analytics that's self hosted, cookie free, privacy friendly, and useful(?)
<br>
<br>
<a href="#installation"><strong>Getting started »</strong></a>
<br>
</p>
@ -23,41 +24,53 @@ Shynet has **none** of these caveats. You host it yourself, so the data is _your
> **Shynet** is a portmanteau of "Skynet" and "shy." The idea is that it gives you loads of useful information (Skynet) while also respecting your visitors' privacy (shy).
## Screenshots
_Note: These screenshots have been edited to hide sensitive data. The "real" Shynet has a lot more pages and information available, but hopefully this gives you an idea of the general look and feel of the tool._
![Shynet's homepage](images/homepage.png)
_Shynet's homepage, where you can see all of your services at a glance._
![Shynet's service view](images/service_view.png)
_Shynet's service page, where you can see more detailed information about a service._
Not shown: management view, session view, full service view. (You'll need to install Shynet to see those!)
## Features
#### Architecture
* **Runs on a single machine** --- Because it's so small, Shynet can easily run as a single docker container on a single small VPS.
* **...or across a giant Kubernetes cluster** --- For higher traffic installations, Shynet can be deployed with as many parallelized ingress nodes as needed, with Redis caching and separate backend workers for database IO.
* **Built using Django** --- Shynet is built using Django, so deploying, updating, and migrating can be done without headaches.
* **Multiple users and sites** --- A single Shynet instance can support multiple users, each tracking multiple different sites.
* **Runs on a single machine** &mdash; Because it's so small, Shynet can easily run as a single docker container on a single small VPS.
* **...or across a giant Kubernetes cluster** &mdash; For higher traffic installations, Shynet can be deployed with as many parallelized ingress nodes as needed, with Redis caching and separate backend workers for database IO.
* **Built using Django** &mdash; Shynet is built using Django, so deploying, updating, and migrating can be done without headaches.
* **Multiple users and sites** &mdash; A single Shynet instance can support multiple users, each tracking multiple different sites.
#### Tracking
* **JavaScript not required** --- It will fallback to using a 1x1 transparent tracking pixel if JavaScript isn't available
* **Lightweight** --- The [tracking script](/shynet/analytics/templates/analytics/scripts/page.js) weighs less than a kilobyte (and doesn't look like your typical tracking script)
* **Generally not blocked** --- Because you host Shynet yourself, it tends not to be on ad block lists
* **Primary-key integration** --- You can easily associate visitors in Shynet with their user accounts on your site (if that's something you want)
* **JavaScript not required** &mdash; It will fallback to using a 1x1 transparent tracking pixel if JavaScript isn't available
* **Lightweight** &mdash; The [tracking script](/shynet/analytics/templates/analytics/scripts/page.js) weighs less than a kilobyte (and doesn't look like your typical tracking script)
* **Generally not blocked** &mdash; Because you host Shynet yourself, it tends not to be on ad block lists
* **Primary-key integration** &mdash; You can easily associate visitors in Shynet with their user accounts on your site (if that's something you want)
#### Metrics
Here's the information Shynet can give you about your visitors:
* **Hits** --- how many pages on your site were opened/viewed
* **Sessions** --- how many times your site was visited (essentially a collection of hits)
* **Page load time** --- how long the pages on your site look to load
* **Bounce rate** --- the percentage of visitors who left after just one page
* **Duration** --- how long visitors stayed on the site
* **Referrers** --- the links visitors followed to get to your site
* **Locations** --- the relative popularity of all the pages on your site
* **Operating system** --- your visitors' OS (from user agent)
* **Browser** --- your visitors' browser (from user agent)
* **Geographic location & network** --- general location of your visitors (from IP)
* **Device type** --- whether your visitors are using a desktop, tablet, or phone (from user agent)
* **Hits** &mdash; how many pages on your site were opened/viewed
* **Sessions** &mdash; how many times your site was visited (essentially a collection of hits)
* **Page load time** &mdash; how long the pages on your site look to load
* **Bounce rate** &mdash; the percentage of visitors who left after just one page
* **Duration** &mdash; how long visitors stayed on the site
* **Referrers** &mdash; the links visitors followed to get to your site
* **Locations** &mdash; the relative popularity of all the pages on your site
* **Operating system** &mdash; your visitors' OS (from user agent)
* **Browser** &mdash; your visitors' browser (from user agent)
* **Geographic location & network** &mdash; general location of your visitors (from IP)
* **Device type** &mdash; whether your visitors are using a desktop, tablet, or phone (from user agent)
#### Workflow
* **Collaboration built-in** --- Administrators can easily share services with other users, as well
* **Accounts (or not)** --- Shynet has a fully featured account management workflow (powered by [Django Allauth](https://github.com/pennersr/django-allauth/)).
* **Collaboration built-in** &mdash; Administrators can easily share services with other users, as well
* **Accounts (or not)** &mdash; Shynet has a fully featured account management workflow (powered by [Django Allauth](https://github.com/pennersr/django-allauth/)).
## Recommendations
@ -106,11 +119,11 @@ EMAIL_HOST: ""
SERVER_EMAIL: "Shynet <noreply@shynet.example.com>"
```
4. Setup the Shynet database by running `docker run --env-file=<your env file> milesmcc/shynet:latest python manage.py migrate`.
4. Setup the Shynet database by running `docker run &mdash;env-file=<your env file> milesmcc/shynet:latest python manage.py migrate`.
5. Create your admin account by running `docker run --env-file=<your env file> milesmcc/shynet:latest python manage.py createsuperuser`.
5. Create your admin account by running `docker run &mdash;env-file=<your env file> milesmcc/shynet:latest python manage.py createsuperuser`.
6. Launch the Shynet server by running `docker run --env-file=<your env file> milesmcc/shynet:latest`.
6. Launch the Shynet server by running `docker run &mdash;env-file=<your env file> milesmcc/shynet:latest`.
7. With the server still running, visit it in a web browser. Go to `http://<your server's location>/admin` and log in with the credentials you setup in step 5. Click on "Sites", then "example.com". Update the values to match your deployment (the domain will be the domain where you'll _eventually_ host Shynet from, and the display name will be used to whitelabel Shynet throughout the management interface). When you're ready, click "Save".

BIN
images/homepage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

BIN
images/service_view.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB