All Projects → piratepx → App

piratepx / App

Licence: mit
Just a little analytics insight for your personal or indie project

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to App

Analytics
Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
Stars: ✭ 9,469 (+23572.5%)
Mutual labels:  analytics, google-analytics, metrics, privacy
Fathom
Fathom Lite. Simple, privacy-focused website analytics. Built with Golang & Preact.
Stars: ✭ 6,989 (+17372.5%)
Mutual labels:  analytics, google-analytics, metrics, privacy
Goaccess
GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.
Stars: ✭ 14,096 (+35140%)
Mutual labels:  analytics, google-analytics, privacy
Analytics
Lightweight analytics abstraction layer for tracking page views, custom events, & identifying visitors
Stars: ✭ 814 (+1935%)
Mutual labels:  analytics, metrics, privacy
Kindmetrics
Kind metrics analytics for your website
Stars: ✭ 57 (+42.5%)
Mutual labels:  analytics, google-analytics, privacy
Ackee
Self-hosted, Node.js based analytics tool for those who care about privacy.
Stars: ✭ 3,140 (+7750%)
Mutual labels:  analytics, google-analytics, privacy
React Spy
A set of utilities for collecting UX-analytics of your React-application (ex: clicks, shows, errors and etc.)
Stars: ✭ 37 (-7.5%)
Mutual labels:  analytics, google-analytics, metrics
Social-Media-Monitor
Automatically monitor and log fan counters from social media(Facebook Pages, Twitter, Instagram, YouTube, Google+, OneSignal, Alexa) using APIs to Google Spreadsheet. Very useful for website admins and social media managers.
Stars: ✭ 36 (-10%)
Mutual labels:  counter, analytics, google-analytics
Signal
Simple and beautiful open source Analytics 📊
Stars: ✭ 295 (+637.5%)
Mutual labels:  analytics, google-analytics, privacy
Redux Beacon
Analytics integration for Redux and ngrx/store
Stars: ✭ 645 (+1512.5%)
Mutual labels:  analytics, google-analytics
Github Profile Views Counter
It counts how many times your GitHub profile has been viewed. Free cloud micro-service.
Stars: ✭ 781 (+1852.5%)
Mutual labels:  analytics, counter
Promcord
📊 Analyze your entire discord guild in grafana using prometheus. Message, User, Game and Voice statistics...
Stars: ✭ 39 (-2.5%)
Mutual labels:  analytics, metrics
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+1500%)
Mutual labels:  metrics, stats
Yett
🔐A small webpage library to control the execution of (third party) scripts
Stars: ✭ 615 (+1437.5%)
Mutual labels:  analytics, privacy
Laravel Visits
📊 Laravel Visits is a counter that can be attached to any model to track its visits using Redis or Eloquent. (with tags, IP protection and caching)
Stars: ✭ 582 (+1355%)
Mutual labels:  stats, counter
Analytics Spammers
Ce dépôt à pour but de bâtir un dictionnaire Open Source des spammers Analytics
Stars: ✭ 6 (-85%)
Mutual labels:  analytics, google-analytics
Gin Stats
Gin's middleware for request stats
Stars: ✭ 24 (-40%)
Mutual labels:  metrics, stats
Php Ga Measurement Protocol
Send data to Google Analytics from the server using PHP. Implements GA measurement protocol.
Stars: ✭ 561 (+1302.5%)
Mutual labels:  analytics, google-analytics
Umami
Umami is a simple, fast, website analytics alternative to Google Analytics.
Stars: ✭ 9,228 (+22970%)
Mutual labels:  analytics, google-analytics
Devdash
🍱 Highly Configurable Terminal Dashboard for Developers and Creators
Stars: ✭ 939 (+2247.5%)
Mutual labels:  google-analytics, metrics

🏴‍☠️ piratepx

A simple, privacy-respecting, no cookie, zero JavaScript, 35 byte counter pixel for websites, mobile apps, server-side APIs, CLIs, and just about anywhere else.

Sign up for free at https://www.piratepx.com! piratepx

Overview

This repository contains both the backend and frontend of the app to simplify development and deployment. Other than a few lines of configuration here and there to make this possible, however, they're pretty much separate codebases.

Backend

The backend is a JSON REST API built in Node.js using Fastify and Objection.js. It persists data to a PostgreSQL database.

The source code is located in the api directory, with configuration files in the root of this repository (where this README lives).

Frontend

The frontend is a single-page app built with Vue.js and Tailwind CSS.

The source code is fully isolated in the web directory, which is also where its own configuration files are located.

Development

The following includes the necessary steps to get the full app setup for development, with a focus on backend-specific details. See web/README.md for frontend-specific details.

Prerequisites

Docker Compose is used to run PostgreSQL as configured in docker-compose.yml. Once installed, simply run:

$ docker-compose up

The app itself is not run in a Docker container in development, as it's easy enough to install the necessary version of Node.js with nvm:

$ nvm install

Dependencies

Install dependencies with npm:

$ npm install
$ cd web && npm install

Config

dotenv is used to load environment variables from a .env file into process.env. This file is ignored by version control to prevent committing secrets.

See .env.dist for an example.

Database

Create

Ensure PostgreSQL is running, then:

$ npm run dev:db:create

Migrations

Knex.js is used to manage database migrations, which are located in api/db/migrations.

To run the latest migrations:

$ npm run knex migrate:latest

Start

Start both the backend and frontend development servers:

$ npm run dev

Code Style & Linting

Prettier is setup to enforce a consistent code style. It's highly recommended to add an integration to your editor that automatically formats on save.

ESLint is setup with the "recommended" rules to enforce a level of code quality. It's also highly recommended to add an integration to your editor that automatically formats on save.

To run via the command line:

$ npm run lint

Releasing

After development is done in the development branch and is ready for release, it should be merged into the master branch, where the latest release code lives. Release It! is then used to interactively orchestrate the release process:

$ npm run release
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].