Skip to content

Commit

Permalink
Merge branch 'release/2.0.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
electerious committed Aug 16, 2020
2 parents b0205c2 + 2fea23c commit c9f2290
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 51 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ env:
- YARN_GPG=no
node_js:
- 'node'
- '10'
- '14'
os:
- windows
- linux
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [2.0.1] - 2020-08-16

This updates improves the look of the README and adds some missing pieces of documentation.

### Added

- [Privacy Policy example](docs/Privacy%20Policy.md) (#122)

## [2.0.0] - 2020-08-15

The first major back-end and front-end rewrite of Ackee with new API, dashboard, active visitors counter and more. Updating is as easy as ever. Simple grab the newest version, ensure that you're using Node.js v14 or higher and start Ackee. That's it!
Expand Down
42 changes: 8 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ Self-hosted, Node.js based analytics tool for those who care about privacy. Acke

</div>

## Contents
## 👋 Introduction

Ackee is a self-hosted analytics tool that cares about privacy. We believe that you don't need to track every aspect of your visitors. Ackee keeps tracked data anonymized to avoid that users are identifiable, while still providing helpful insights. It's is the right tool for everyone who doesn't need a full-featured marketing analytics platform like Google Analytics or Matomo.

- [Get started](#get-started)
- [Introduction](#introduction)
- [Documentation](#documentation)
- [Miscellaneous](#more)
- **Self-hosted**: Ackee runs on your own server and is 100% open-source
- **Modern technologies**: Lightweight Node.js and MongoDB architecture
- **Beautiful**: Minimal and focused interface
- **No cookies**: No unique user tracking and therefore no required cookie message
- **GraphQL API**: Fully documented GraphQL API that allows you to build new tools upon Ackee

## 🚀 Get started

Expand All @@ -42,35 +45,6 @@ And configure Ackee and your server correctly…

Take a look at the [FAQ](docs/FAQ.md) if you have any questions left.

## 👋 Introduction

### What is Ackee?

Ackee is a web app you install on your server to analyse the traffic of your sites.

### Why Ackee?

Ackee is lightweight, easy to install and has a good balance between analytics and privacy. It features a GraphQL API and web interface and tracks only what's necessary.

It's is the right tool for you if you care about privacy and don't need a full-features marketing analytics platform like Google Analytics or Matomo.

### Benefits of Ackee?

- Self-hosted
- Lightweight and easy to install
- Modern and fast architecture
- Beautiful and focused interface
- No unique user tracking and no cookies
- Fully documented GraphQL API

### How does it work?

You run the Ackee server which then waits for requests through its API.

The API of Ackee accepts information about your visitors sent to it using [ackee-tracker](https://github.com/electerious/ackee-tracker). It's a small script you add to your sites, similar to the JavaScript tracking snippet provided by Google Analytics.

The interface of Ackee lets you view and analyse your tracked information.

## 📚 Documentation

Documentation and guides are located in [the /docs folder](docs/). Also take a look at the [FAQ](docs/FAQ.md) if you have any questions left.
Expand Down
12 changes: 12 additions & 0 deletions docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,18 @@ Protected queries and mutations need to include the `Authorization` HTTP header.
}
```

## Time Zone

It's sometimes necessary to know the time zone of the user to accurately group stats by day, month or year. We therefore recommend to include a `Time-Zone` header when requesting data. The time zone should be formatted as a [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).

The time zone of the server will be used as a fallback.

```json
{
"Time-Zone": "Europe/Berlin"
}
```

## Queries

Queries are used to receive data. Here are a few examples:
Expand Down
11 changes: 11 additions & 0 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
# FAQ

- [Basics](#basics)
- [Features](#features)
- [Configuration](#configuration)
- [Comparison](#comparison)
- [Definitions](#definitions)

## Basics

### How does it work?

You run the Ackee server which then waits for requests through its API.

The API of Ackee accepts information about your visitors sent to it using [ackee-tracker](https://github.com/electerious/ackee-tracker). It's a small script you add to your sites, similar to the JavaScript tracking snippet provided by Google Analytics.

The interface of Ackee lets you view and analyse your tracked information.

## Features

### Can I import my nginx logs?
Expand Down
31 changes: 31 additions & 0 deletions docs/Privacy Policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Privacy Policy

Ackee is a privacy first product that keeps tracked data anonymized. It's therefore not required to mention Ackee in your privacy policy. Ackee doesn't store IP addresses or other personal identifiable information by default. It doesn't even use cookies, therefore, it doesn't need to be added to your cookie banner either.

Although, we recommend to mention Ackee in your privacy policy. Let your visitors know that you're using a privacy friendly analytics tool which doesn't collect personal identifiable information.

> ⚠️ Make sure to ask your users before activating the `detailed` mode of Ackee. The detailed mode tracks more data and also includes data [we're considering as personal data](Anonymization.md#personal-data). In this case it's highly recommended to add Ackee to your privacy policy.
## HTML privacy policy example

```html
To get information about the behavior of our visitors, we use
<a href="https://ackee.electerious.com" target="_blank">Ackee</a>. This
analytics software gives us insight about our visitors only in general, but not
about individuals per say, as it does not track visitors and does not store any
personal identifiable information.
<a href="https://docs.ackee.electerious.com/#/docs/Anonymization" target="_blank">Go
to their documentation</a> to find out what Ackee collects.
```

## Markdown privacy policy example

```md
To get information about the behavior of our visitors, we use
[Ackee](https://ackee.electerious.com). This
analytics software gives us insight about our visitors only in general, but not
about individuals per say, as it does not track visitors and does not store any
personal identifiable information.
[Go
to their documentation](https://docs.ackee.electerious.com/#/docs/Anonymization) to find out what Ackee collects.
```
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ackee",
"private": true,
"version": "2.0.0",
"version": "2.0.1",
"authors": [
"Tobias Reich <tobias@electerious.com>"
],
Expand Down Expand Up @@ -108,6 +108,6 @@
]
},
"engines": {
"node": ">= 10"
"node": ">= 14"
}
}
7 changes: 0 additions & 7 deletions src/aggregations/aggregateDurations.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@ module.exports = (ids, interval, limit, dateDetails) => {
$avg: '$duration'
}
}
},
{
$sort: {
'_id.year': -1,
'_id.month': -1,
'_id.day': -1
}
}
]

Expand Down
7 changes: 0 additions & 7 deletions src/aggregations/aggregateViews.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,6 @@ module.exports = (ids, unique, interval, limit, dateDetails) => {
$sum: 1
}
}
},
{
$sort: {
'_id.year': -1,
'_id.month': -1,
'_id.day': -1
}
}
]

Expand Down

0 comments on commit c9f2290

Please sign in to comment.