Skip to content

Collecting user web surfing data from web sites with a JS lib and a Go back end!

License

Notifications You must be signed in to change notification settings

gesiel/gocollector

Repository files navigation

Build Status Coverage Status

Go Collector

A Go (Rest API) + Vue (Web Client) experiment.

This project uses

How it works

This project collects users web surfing data from web sites configured with its js client. A Go Rest API receives all the user navigation data and a Vue web client shows all collected data.

Packages

  1. Both access and subscriber are domain specific logic. These packages depend only on abstractions. All dependencies are injected with DI and IC.
  2. Package controllers stands for the web api classes.
  3. databases stores all database gateways implementations. It's basic Mongo queries.
  4. All Go dependencies are in the vendor folder.
  5. The webclient folder stores the Vue web client. Running npm run build in this folder updates the static folder content with a minified version of the web client.
  6. The JS lib stay on the jsclientfolder. It collects and sends information to the backend.

Running

Atentition: You need a Mongo DB up and running to proceed.

  1. Run the tests with
go test ./...
  1. Run the app with
PORT=8080 MONGODB_URI=localhost go run main.go
  1. Open your browser on https://localhost:8080/ to list all collected data. If was no collected data, surf a little bit on https://localhost:8080/examples and fill up the contact page.

A version of this tool is up and running on heroku. Just visit https://gocollector.herokuapp.com/examples and https://gocollector.herokuapp.com/.

To run the JS lib tests, see here.

About

Collecting user web surfing data from web sites with a JS lib and a Go back end!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published