/countly-server

This is the home for Countly Mobile & Web Analytics and Marketing Platform. Countly helps you collect data and understand insights of your application. Available self-hosted or on private cloud.

Primary LanguageJavaScriptOtherNOASSERTION

#Countly Build Status Install Countly on DigitalOcean

##What's Countly? Countly is an innovative, real-time, open source mobile & web 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.

With the help of Javascript SDK, Countly is a web analytics platform with features on par with mobile SDKs. For more information about web analytics capabilities, see this link.

There are two parts of Countly: the server that collects and analyzes data, and an SDK (mobile, web or desktop) 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

##What can Countly track?

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

##Built with

  • MongoDB One of the most popular NoSQL databases
  • Node.js An open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications.
  • Express.js Popular Node.js web application framework
  • Linux What we love using ;-)

Plus lots of open source libraries!

##Security

We take security very seriously at Countly. Community Edition code is 100% open source and peer reviewed, to ensure nobody's Countly instance is ever compromised or hacked. If you wish to report a security issue, please email security@count.ly

##What makes Countly unique?

Countly is a unique, security-focused and 360-degree analytics approach with several, unique values:

  • Real-time mobile analytics, web analytics and push notifications.
  • Your data, your rules - since you can install Countly on your own server, or let us do the private cloud installations for you.
  • Configurable and extensible via open source plugins.
  • Modern and easy to use web dashboard with a focus on user experience, helping to get complex insights easily.
  • Tracking more than 2500 web sites and 4500 mobile applications.
  • Collecting more than 60 billion datapoints worlwide.

##Installing & upgrading Countly server

We develop and test Countly on MongoDB, Node.js and Nginx. Installation script only needs a clean, decent Ubuntu/CentOS/RHEL Linux without any services listening to port 80 or 443 (which should also be not blocked), and takes care of every library and software required to be installed on Linux.

There are several ways to install Countly:

  1. The following command will download and install Countly on your Ubuntu or CentOS server.

    wget -qO- http://c.ly/install | bash

  2. If you have a Digital Ocean account, click here and install on Digital Ocean with a single click.

  3. For bash lovers, we provide a beautiful installation script (bin/countly.install.sh) in countly-server package which installs everything required to run Countly Server. For this, you need a stable release of this repository available here.

  4. Countly also has Docker support - see our official Docker repository and installation instructions for Docker

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

##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, that 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.

##Extensibility & plugins

Countly is extensible with plugins. We suggest you read this document and start writing your plugin. We support companies with know-how in need to write their own plugins.

##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