Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
This is the open source home for Countly Mobile Analytics & Push Notifications Server (Community Edition). Countly helps you collect data and understand insights of your app. Available self-hosted or on private cloud. We love stars and pull requests! :-)
JavaScript HTML CSS Other

README.md

Countly Build Status

HEY! We're hiring: Countly is looking for full stack node.js developers to work on its core platform. Click this link for job description

What's Countly?

Countly is an innovative, real-time, open source mobile analytics, push notifications and crash reporting platform powering nearly 3000 mobile applications. It collects data from mobile phones, tablets, Apple Watch and other internet-connected devices, and visualizes this information to analyze mobile application usage and end-user behavior. There are two parts of Countly: the server that collects and analyzes data, and a mobile SDK that sends this data.

This repository includes Countly Community Edition (server side). For more information other versions (e.g Enterprise Edition), see comparison of different Countly editions

Countly dashboard screenshot

Supported devices

Countly supports top-notch devices, including iOS, Android and Windows Phone. You can find a list of official and community supported Countly SDK libraries here. Each SDK has its own installation instructions.

Installing & upgrading Countly server

All public Community Edition versions are available from Github. We provide a beautiful installation sript (bin/countly.install.sh) with countly-server package that installs and configures everything required to run Countly Server.

If you want to upgrade Countly from a previous version, please take a look at upgrading documentation.

Countly also has Docker support - see our official Docker repository

Dependencies

We develop and test Countly on Ubuntu with MongoDB, Node.js and nginx. Installation script only needs a clean, decent Ubuntu Linux without any services listening to port 80 and takes care of every library and software (e.g MongoDB, Nginx, Node.js, Expressjs etc) required to be installed on Ubuntu Linux.

API & Frontend

Countly has a well defined API, that reads from or writes to Node.js. Dashboard is built using this API, so it's possible to fetch any kind of information from Node process directly using Countly API. For those who are interested with building their own dashboard; important files are frontend/express/app.js (Countly dashboard that runs on Express server), frontend/express/public/javascripts/countly (Contains seperate helper js files for each data visualization), countly.session.js (responsible for calculating session related metrics) and api/api.js, which is Countly write and read API.

If you want to extend Countly with plugins, then we suggest you read this document and start writing your own.

How can I help you with your efforts?

  1. Fork this repo
  2. Create your feature branch (git checkout -b my-new-super-feature)
  3. Commit your changes (git commit -am 'Add some cool feature')
  4. Push to the branch (git push origin my-new-super-feature)
  5. Create a new pull request

Also, you are encouraged to read an extended contribution section on how to contribute to Countly

And, if you liked Countly, why not use one of our badges and give a link back to us, so others know about this wonderful platform?

Light badge Dark badge

Links

Something went wrong with that request. Please try again.