- We're hiring: Countly is looking for Android SDK developers, full stack devs, devops and growth hackers (remote work). Click this link for job description
- Slack user? Join our Slack community
- Questions? Ask in our Community forum
##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
##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:
-
The following command will download and install Countly on your Ubuntu or CentOS server.
wget -qO- http://c.ly/install | bash
-
If you have a Digital Ocean account, click here and install on Digital Ocean with a single click.
-
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. -
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 serverfrontend/express/public/javascripts/countly
, that contains seperate helper js files for each data visualizationcountly.session.js
, responsible for calculating session related metrics andapi/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?
- Fork this repo
- Create your feature branch (
git checkout -b my-new-super-feature
) - Commit your changes (
git commit -am 'Add some cool feature'
) - Push to the branch (
git push origin my-new-super-feature
) - 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?
##Links
- General product information
- Questions? Ask our forum
- Slack user? Come chat with us
- Documentation & API reference guide
- Comparison of Countly editions
- White labeling & rebranding options
- Extended list of Enterprise Edition features, including crash reports, referral analytics, user profiles, geolocations with push, detailed segmentation, funnels, real-time dashboard and more.