├── .babelrc ├── .dockerignore ├── .env.default ├── .eslintrc.json ├── .github └── workflows │ └── CI.yml ├── .gitignore ├── .nvmrc ├── COPYING ├── Dockerfile ├── Procfile ├── README.md ├── assets ├── css │ ├── _colors.scss │ └── screen.scss ├── data │ ├── .gitignore │ └── spammers.txt ├── img │ ├── favicon.png │ ├── logo-icon.png │ ├── logo.png │ └── screenshot.png ├── index.html └── js │ ├── App.vue │ ├── components │ ├── Card.vue │ ├── LiveLocations.vue │ ├── TopPages.vue │ ├── TopReferrers.vue │ ├── TotalsBox.vue │ └── TrackingCode.vue │ ├── index.js │ ├── lib │ ├── arrays.js │ ├── charts.js │ ├── client.js │ ├── cookies.js │ ├── dates.js │ ├── formatting.js │ ├── reporting.js │ └── strings.js │ ├── pages │ ├── Dashboard.vue │ └── Setup.vue │ └── track.js ├── example ├── Dockerfile.postgres ├── README.md ├── docker-compose.yml └── initdb-hll.sql ├── migrations ├── 0001-create-page-visits-table.sql ├── 0002-alter-page-visits-table-add-country-code.sql ├── 0003-add-page-visits-partition-constraint.sql ├── 0004-drop-old-unique-constraint-from-page-visits.sql └── 0005-add-country-code-length-constraint.sql ├── nemea ├── components │ ├── batcher.rkt │ ├── current-visitors.rkt │ ├── geolocator.rkt │ ├── migrator.rkt │ ├── page-visit.rkt │ └── reporter.rkt ├── config.rkt ├── dynamic.rkt ├── http │ ├── app.rkt │ ├── middleware.rkt │ ├── reporting.rkt │ └── tracking.rkt └── info.rkt ├── package.json ├── scripts ├── build.sh ├── clean.sh └── populate-db.sh └── static └── .gitignore /.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/.babelrc -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .cache 2 | .git 3 | compiled 4 | node_modules 5 | -------------------------------------------------------------------------------- /.env.default: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/.env.default -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cache 2 | .env 3 | compiled 4 | node_modules 5 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/COPYING -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/Dockerfile -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/Procfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/README.md -------------------------------------------------------------------------------- /assets/css/_colors.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/css/_colors.scss -------------------------------------------------------------------------------- /assets/css/screen.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/css/screen.scss -------------------------------------------------------------------------------- /assets/data/.gitignore: -------------------------------------------------------------------------------- 1 | *.mmdb -------------------------------------------------------------------------------- /assets/data/spammers.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/data/spammers.txt -------------------------------------------------------------------------------- /assets/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/img/favicon.png -------------------------------------------------------------------------------- /assets/img/logo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/img/logo-icon.png -------------------------------------------------------------------------------- /assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/img/logo.png -------------------------------------------------------------------------------- /assets/img/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/img/screenshot.png -------------------------------------------------------------------------------- /assets/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/index.html -------------------------------------------------------------------------------- /assets/js/App.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/App.vue -------------------------------------------------------------------------------- /assets/js/components/Card.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/components/Card.vue -------------------------------------------------------------------------------- /assets/js/components/LiveLocations.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/components/LiveLocations.vue -------------------------------------------------------------------------------- /assets/js/components/TopPages.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/components/TopPages.vue -------------------------------------------------------------------------------- /assets/js/components/TopReferrers.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/components/TopReferrers.vue -------------------------------------------------------------------------------- /assets/js/components/TotalsBox.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/components/TotalsBox.vue -------------------------------------------------------------------------------- /assets/js/components/TrackingCode.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/components/TrackingCode.vue -------------------------------------------------------------------------------- /assets/js/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/index.js -------------------------------------------------------------------------------- /assets/js/lib/arrays.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/arrays.js -------------------------------------------------------------------------------- /assets/js/lib/charts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/charts.js -------------------------------------------------------------------------------- /assets/js/lib/client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/client.js -------------------------------------------------------------------------------- /assets/js/lib/cookies.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/cookies.js -------------------------------------------------------------------------------- /assets/js/lib/dates.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/dates.js -------------------------------------------------------------------------------- /assets/js/lib/formatting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/formatting.js -------------------------------------------------------------------------------- /assets/js/lib/reporting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/lib/reporting.js -------------------------------------------------------------------------------- /assets/js/lib/strings.js: -------------------------------------------------------------------------------- 1 | export function capitalize(s) { 2 | return s[0].toUpperCase() + s.slice(1); 3 | } 4 | -------------------------------------------------------------------------------- /assets/js/pages/Dashboard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/pages/Dashboard.vue -------------------------------------------------------------------------------- /assets/js/pages/Setup.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/pages/Setup.vue -------------------------------------------------------------------------------- /assets/js/track.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/assets/js/track.js -------------------------------------------------------------------------------- /example/Dockerfile.postgres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/example/Dockerfile.postgres -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/example/README.md -------------------------------------------------------------------------------- /example/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/example/docker-compose.yml -------------------------------------------------------------------------------- /example/initdb-hll.sql: -------------------------------------------------------------------------------- 1 | CREATE EXTENSION IF NOT EXISTS hll; 2 | -------------------------------------------------------------------------------- /migrations/0001-create-page-visits-table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/migrations/0001-create-page-visits-table.sql -------------------------------------------------------------------------------- /migrations/0002-alter-page-visits-table-add-country-code.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/migrations/0002-alter-page-visits-table-add-country-code.sql -------------------------------------------------------------------------------- /migrations/0003-add-page-visits-partition-constraint.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/migrations/0003-add-page-visits-partition-constraint.sql -------------------------------------------------------------------------------- /migrations/0004-drop-old-unique-constraint-from-page-visits.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/migrations/0004-drop-old-unique-constraint-from-page-visits.sql -------------------------------------------------------------------------------- /migrations/0005-add-country-code-length-constraint.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/migrations/0005-add-country-code-length-constraint.sql -------------------------------------------------------------------------------- /nemea/components/batcher.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/components/batcher.rkt -------------------------------------------------------------------------------- /nemea/components/current-visitors.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/components/current-visitors.rkt -------------------------------------------------------------------------------- /nemea/components/geolocator.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/components/geolocator.rkt -------------------------------------------------------------------------------- /nemea/components/migrator.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/components/migrator.rkt -------------------------------------------------------------------------------- /nemea/components/page-visit.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/components/page-visit.rkt -------------------------------------------------------------------------------- /nemea/components/reporter.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/components/reporter.rkt -------------------------------------------------------------------------------- /nemea/config.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/config.rkt -------------------------------------------------------------------------------- /nemea/dynamic.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/dynamic.rkt -------------------------------------------------------------------------------- /nemea/http/app.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/http/app.rkt -------------------------------------------------------------------------------- /nemea/http/middleware.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/http/middleware.rkt -------------------------------------------------------------------------------- /nemea/http/reporting.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/http/reporting.rkt -------------------------------------------------------------------------------- /nemea/http/tracking.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/http/tracking.rkt -------------------------------------------------------------------------------- /nemea/info.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/nemea/info.rkt -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/package.json -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/scripts/build.sh -------------------------------------------------------------------------------- /scripts/clean.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/scripts/clean.sh -------------------------------------------------------------------------------- /scripts/populate-db.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bogdanp/nemea/HEAD/scripts/populate-db.sh -------------------------------------------------------------------------------- /static/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | 3 | !.gitignore 4 | --------------------------------------------------------------------------------