Next-gen mobile first analytics server (think Mixpanel, Google Analytics) with built-in encryption supporting HTTP2 and gRPC. Node.js, headless, API-only, horizontally scaleable.

Overview

Socketkit Awacs - Next-gen behavior analysis server


build status coverage status License

Introduction to Awacs

Next-gen behavior analysis server (think Mixpanel, Google Analytics) with built-in encryption supporting HTTP2 and gRPC. Node.js, headless, API-only, horizontally scaleable.

Installation

We support Docker, Kubernetes, and Helm out of the box.

Security

We take security seriously in Awacs. We believe that security & privacy is a human right, and should be done properly.

Authorization

Every active application in Awacs has a unique authorization token to tell the server where the information belongs to. This token is sent using the x-socketkit-key HTTP header. It's recommended to have an SSL certificate in between the client and server to make it harder for an attacker to read the application authorization token.

Request Signing

It's required that every request sent to Awacs public API should be signed with ed25519 on the client side. This digital signature algorithm enables us that the information did not get manipulated in the transit between client and server. Signed payload is sent through the x-signature HTTP header.

High Availability

We have a solid health check mechanism which allows us to have the perfect horizontally scaleable infrastracture. Additionally, we support Prometheus and OpenTelemetry out of the box.

SDKs

We have a variety of SDKs for Awacs and additionally support OpenAPI auto-generated SDKs.

  • JavaScript: Available on Github.
  • Swift: Available on Github [WIP]

Contributing to Awacs

We welcome every contribution to Awacs with love. Please read our CONTRIBUTING guide for more details.

You might also like...

This is an IFC wrapped on Three js based viewer, I think..

This is an IFC wrapped on Three js based viewer, I think..

ifc-three-js-viewer Project description: This is an IFC wrapped on Three js based viewer, I think.. Features & Screenshots: A simple viewer for render

Dec 14, 2022

Cross provider map drawing library, supporting Mapbox, Google Maps and Leaflet out the box

Terra Draw Frictionless map drawing across mapping providers. TerraDraw centralises map drawing logic and provides a host of out the box drawing modes

Dec 31, 2022

A next-gen framework for type-safe command-line applications

Zors 🥇 Next-gen framework for building modern, type-safe command-line applications. 📦 Tiny (zero dependencies) 💡 Runtime agonistic (supports both D

Dec 1, 2022

Dynamic components with the power of next-gen bundle tools

Moon island architecture example Dynamic components with the power of next-gen bundle tools What is this? This example shows you how the moon-island a

Oct 21, 2022

Xtreme1 - The Next GEN Platform for Multisensory Training Data.

Xtreme1  - The Next GEN Platform for Multisensory Training Data.

Intro BasicAI Xtreme1 is an open-source suite that speedily develops and iterates your datasets and models. The built-in AI-assisted tools take your l

Dec 30, 2022

A next-gen web framework made on top of bun

Eviate JS (WIP) Next-generation web framework to build powerful apps Features Simple: No more req or res. It's all ctx (context) and plain objects! Fa

Oct 30, 2022

Notify new channel created/renamed on Next-gen Slack platform

notify-new-channel Notify new channel created/renamed on Next-gen Slack platform Install Deploy and create triggers. slack deploy slack trigger create

Oct 10, 2022

🐳 !mportantImport's Next-Gen Blog Starter. [WIP]

Hsno[hoɕino] 🐳 !mportantImport's Next-Gen Blog Starter. [WIP]    Open in Stackblitz        Run in Codeflow        Fork    This project is currently u

Oct 31, 2022

Google Clone using NEXT JS ,SSR, Tailwind and Google API's to search data.

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Sep 23, 2022
Comments
  • Failure to run

    Failure to run

    I was trying to figure out how to run this project, and I'm getting an error. Here are the commands I ran

    git clone https://github.com/socketkit/awacs
    npm install
    npm run dev
    

    The first two commands run fine but when I try to run the project in dev mode this happens error message

    opened by L1lith 1
  • Roadmap to 1.0 release

    Roadmap to 1.0 release

    Roadmap

    • [x] Add Github CI testing with coveralls support (@anonrig)
    • [x] Update Docker image on Dockerhub using Github CI (@anonrig)
    • [x] Document kubernetes deployment (@anonrig)
    • [x] Move database configuration to Knex.js to make it more configurable for initial setup (@lexor)
    • [x] Add Docker compose example (@anonrig)
    • [x] Deploy docusaurus to awacs.socketkit.com
    • [x] Automatically deploy Helm Repository
    • [x] Improve documentation
    • [x] Document private api usage
    • [ ] Add OpenAPI specification to docusaurus
    • [x] Make Dockerfile lightweight
    • [ ] Auto generate client libraries using OpenAPI
    • [ ] Add more features for private api
      • [x] Add client endpoints (@anonrig)
      • [x] Add event endpoints (@anonrig)
      • [x] Add session endpoints (@anonrig)
      • [ ] Add application metrics endpoints
    enhancement 
    opened by anonrig 1
  • Refactor/changes

    Refactor/changes

    • Removed documentation for now
    • Changed unix timestamp to iso string for all events
    • Forced usage of pnpm to reduce build times
    • Update all dependencies
    opened by anonrig 0
  • OpenAPI definitions on main throw internal error

    OpenAPI definitions on main throw internal error

    This is mainly due to fastify-swagger not supporting global schema references in Fastify. I've opened a pull request to solve this and it's in waiting state.

    https://github.com/fastify/fastify-swagger/pull/433

    opened by anonrig 0
Releases(0.6.0)
  • 0.6.0(Dec 1, 2021)

    What's Changed

    • Bump dependencies by @anonrig in https://github.com/socketkit/awacs/pull/12
    • Change unix timestamp to iso string by @anonrig in https://github.com/socketkit/awacs/pull/13
    • Change signature algorithm to HMAC by @anonrig in https://github.com/socketkit/awacs/pull/14

    Full Changelog: https://github.com/socketkit/awacs/compare/0.5.0...0.6.0

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Aug 3, 2021)

    This was once again a huge release for all of us. Here are the highlights!

    Features

    • Added client properties to Events.findAll query for Mixpanel like real-time results
    • Added Applications.count
    • Added Clients.count
    • Added Events.count
    • Added Sessions.count

    Fixes

    • Fixed wrong value for proto definition on client cursor created_at property
    • Added start_date and end_date query parameters to Events.findAll
    • Added start_date and end_date query parameters to Sessions.findAll

    Changes

    • Updated docusaurus for documentation
    • Updated dependencies
    • Enabled verbosity level on tests
    • Refactored tests
    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Jul 26, 2021)

    Features

    • Added proper input validation on private api using ajv.

    Additionally;

    • Removed unused packages (reduced the package size)
    • Updated dependencies
    • Added code of conduct and contributing docs to welcome new contributors
    Source code(tar.gz)
    Source code(zip)
  • 0.3.4(Jul 11, 2021)

  • 0.3.3(Jul 9, 2021)

    Features

    • Added base64 validation to every header request
    • Added versioning to OpenAPI specification

    Fixes

    • Fixed a bug causing pagination to return the same page for every cursor
    • Replaced uuid with crypto.randomUUID to improve the performance (it's a lot faster in node 16)
    • Moved empty_response schemas to correct place for ajv

    Additionally, we have improved the test coverage and bumped the dependencies to their latest version.

    Source code(tar.gz)
    Source code(zip)
  • 0.3.2(Jul 5, 2021)

  • 0.3.1(Jul 5, 2021)

  • 0.3.0(Jun 30, 2021)

    Features

    • Added request tracing using x-request-id header
    • Added prometheus metrics support through /metrics HTTP endpoint
    • Improved documentation
    • Reduced the Dockerfile image size
    • Improved test coverage to 90%

    Breaking Changes

    • Updated OpenAPI configuration to be much more definitive.

    Fixes

    • Fixed set_client event requests
    • Fixed custom event requests
    • Fixed in_app_purchase events
    • Removed unused sentry configuration
    • Fixed Swagger UI CSP issue on production
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jun 27, 2021)

    Improvements

    • Added new private api endpoints (Sessions, Clients, Events etc.)
    • Bumped dependencies
    • Improved documentation (Available from awacs.socketkit.com)

    Bug fixes

    • Fixed set_client and custom event handlers
    Source code(tar.gz)
    Source code(zip)
  • 0.1.5(Jun 22, 2021)

    • Improved integration tests
    • Fixed bugs related to Events and event digestion
    • Improved signing and validating ed25519
    • Introduced a breaking change in migrations
    Source code(tar.gz)
    Source code(zip)
  • 0.1.4(Jun 21, 2021)

    • Improved Helm chart
    • Removed sentry
    • Introduced docs to the repository
    • Added docker-compose example
    • Updated OpenAPI definitions
    • Bumped dependencies
    Source code(tar.gz)
    Source code(zip)
  • 0.1.3(Jun 20, 2021)

  • 0.1.2(Jun 20, 2021)

  • 0.1.1(Jun 20, 2021)

  • 0.1.0(Jun 20, 2021)

Owner
Socketkit
Subscription management and user behavior analysis platform
Socketkit
There can be more than Notion and Miro. Affine is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

AFFiNE.PRO The Next-Gen Knowledge Base to Replace Notion & Miro. Planning, Sorting and Creating all Together. Open-source, Privacy-First, and Free to

Toeverything 12.1k Jan 9, 2023
A POC of a Discord.js bot that sends 3D rendering instructions to a Go server through gRPC which responds with the image bytes which are then sent back on Discord.

A POC of a Discord.js bot that sends 3D rendering instructions to a Go server through gRPC which responds with the image bytes which are then sent back on Discord.

Henrique Corrêa 5 Jan 8, 2022
Horizontally scalable blockchain using STARK's and partitioned transactional memory

quark quark - quick STARK! A decentralized horizontally-scaled state machine that can transfer 1,000,000 unique tokens on Uniswap in a single atomic t

Liam Zebedee 56 Nov 25, 2022
jQuery plugin for horizontally scrolling galleries

jQuery Horiztonal Scroll Gallery This jQuery plugin slides through a horiztonal gallery of items as you scroll down. It makes use of position:sticky s

Jeremy Rue 3 Feb 23, 2022
👜 Next-gen e-commerce built using Remix, Chakra UI, GraphQL and web3

?? Future Store About Here at New Store, we have the best in women's, men's, bags, shoes, accessories and more. Unmissable discounts and installments.

Matheus Trindade 16 Dec 26, 2022
Twitter recommends that the majority of developers start to think about migrating to v2 of the API

Passport-Twitter2.0 with PKCE Twitter recommends that the majority of developers start to think about migrating to v2 of the API. This package is a Pa

null 11 Dec 11, 2022
A small utility server to exchange data and messages between clients. Comes complete with E2E public key encryption

Zenotta Intercom A small utility server to exchange arbitrary data between clients. Comes complete with E2E public key encryption Official documentati

Zenotta AG 7 Oct 2, 2022
Google-Drive-Directory-Index | Combining the power of Cloudflare Workers and Google Drive API will allow you to index your Google Drive files on the browser.

?? Google-Drive-Directory-Index Combining the power of Cloudflare Workers and Google Drive will allow you to index your Google Drive files on the brow

Aicirou 127 Jan 2, 2023
Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.

Phaser - HTML5 Game Framework Phaser is a fast, free, and fun open source HTML5 game framework that offers WebGL and Canvas rendering across desktop a

Richard Davey 33.4k Jan 7, 2023
Did you think that dinosaurs were finished evolving?

Chrome Dino Game This is a recreation of everyone's favorite offline companion, google chrome dinosaur game, with the same classic monochrome interfac

Wasim Reja 8 Sep 6, 2022