Kindmetrics

Kindmetrics

Stars
79
Forks
6
Open issues
17
Closed issues
48
Last release
about 2 years ago
Last commit
4 months ago
Watchers
79
Total releases
2
Total commits
256
Open PRs
0
Closed PRs
58
Repo URL
Project Website
https://kindmetrics.io
Platform
License
Category
Usecase
Analytics
Technology
Offers premium version?
NO
Proprietary?
NO
About

Kindmetrics

Kindmetrics is an strictly privacy focused web analytics for your website.

Thanks to being built on Crystal, Kindmetrics is very small when compiled (~10MB) and is very fast. Faster than Elixir, Rails or java. It use very little cpu and memory and could be deployed on old machines with linux as distro.

It is built based on following ideas:

  • Simplicity
  • Privacy for both you and your visitors
  • GDPR compliant
  • NO COOKIES

And as a service we follow these ideas:

  • Only EU-based services used, except for DO but the servers will be on EU soil
    • If we find a better managed kubernetes service in EU than DO, with managed db, we will move.

  • No CDN for APIs, If we add cdn for the assets files it will be an EU-based one - but for now we won't.
  • We shall always force privacy-features like DNT.

And for the technical stand, we follow these ideas:

  • Small footprint (both in size and traffic)
  • As less third party dependent as possible
  • Focus on one thing only: Analytics
  • No SPA here. we focus on backend with some javascript.

Technical stuff

Kindmetrics is built on:

  • Lucky framework, on Crystal language
  • Tailwind css
  • Stimulus.js
  • Apexchart
  • DataMap
  • Litepicker
  • Clickhouse
  • PostgreSQL

Setting up the project

If you want to run this project for dev, like when you want to fix bugs or new features, you have to install Crystal language. You can find more info about crystal at https://www.crystal-lang.org - You can use crenv, asdf or similar. Check the details on https://luckyframework.org/guides/getting-started/installing#1-install-crystal

When that is done, you have to setup the lucky project:

  1. Install required dependencies
  2. Update database settings in config/database.cr
  3. Run lucky kind.clickhouse
  4. Run script/setup
  5. Run lucky dev to start the app

Tests

Kindmetrics have some tests, even if they could be more. But you can run them by:

crystal spec

And the code should be in /src and the tests in /spec

Deployment

You can find the deployment instructions in deployment.md file

Contribute

I am all open for any help I can get with this project.

Fork this repo, add push your changes to a new branch and create an pull request. I will review when I can. if they follow the aboves ideas and standpoints and don't go against my plans for future, which can be seen in the issues I will approve. Just add tests. Even if I have been bad on that I am trying to be better.

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.