Minimal Web Analytics
- Track pageviews
- Multiple projects support
- No cookies used
- No personal data collected
- Single binary deployment
- Low resource usage
- Minimal dependency footprint
I built this application mainly for my own personal use. I also wanted to experiment to see if it's possible to build good software using modern technologies that consumes less resources and pull in as few dependencies as possible.
This is built using Golang and uses SQLite as database. The frontend is built using vanilla HTML, CSS and JS. So far, the only dependencies it uses are Lato (vendored), go-sqlite and crypto.
Build from source
$ go buildRun the application using default configuration
$ make devRun the application by customizing PORT and DATA_FOLDER
$ PORT="4000" DATA_FOLDER="./data" make devRun the application in watch mode Install air
$ make watchRun the application using Docker
$ docker build -t mouji . && docker run --rm -it -v $(pwd):/data mouji- Create new migration file under
./migrations - Use the format
<version>_<title>.sql

