Countly/countly-server
Countly helps you get insights from your application. Available self-hosted or on private cloud.
repo name | Countly/countly-server |
repo link | https://github.com/Countly/countly-server |
homepage | https://count.ly |
language | JavaScript |
size (curr.) | 102580 kB |
stars (curr.) | 4346 |
created | 2012-05-28 |
license | Other |
Table of Contents
- What is Countly?
- What is included?
- What can Countly track?
- What components does Countly have?
- Security
- What makes Countly unique?
- Differences between Community Edition & Enterprise Edition
- Installing and upgrading Countly server
- API and Frontend
- Extensibility and plugins
- How can I help you with your efforts?
- Badges
- Links
What is Countly?
Countly is an innovative, real-time, open source mobile & web analytics, rich push notifications and crash reporting platform powering more than 2500 web sites, 16000 mobile applications and several desktop applications as of 2019. It collects data from mobile, desktop, web apps including Apple Watch, TvOS and other internet-connected devices, and visualizes this information to analyze 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
Click on the below image for a 1 minute video introduction to Countly (opens Youtube);
What is included?
This repository includes server-side part of Countly, with following features:
- Complete dashboard user interface
- User, application and permission management
- Read / write APIs
- Plugin based architecture
- Analytics features for mobile, web and desktop
- Crash reporting for iOS & Android and error reporting for Javascript
- Rich and interactive push notifications for iOS & Android
- Email reporting
What can Countly track?
Countly can collect and visualize data from iOS, Android, Windows Phone devices, desktop applications (Windows, Mac OS) and web applications. 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
- Express.js Popular Node.js web application framework
- Linux What we love using ;-)
Plus lots of open source libraries!
Security
Security is very important to us. If you discover any issue regarding security, please disclose the information responsibly by sending an email to security@count.ly and not by creating a GitHub issue.
What makes Countly unique?
Countly is a privacy-focused and 360-degree analytics platform 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 a private cloud deployment for you.
- Configurable and extensible via open source plugins.
- Modern and easy to use web based dashboard with a focus on user experience, which makes getting complex insights a breeze.
- Tracking more than 2500 web sites and 16000 mobile applications.
- Collecting more than 60 billion datapoints worldwide.
Differences between Community Edition & Enterprise Edition
- Audience: Community Edition is suitable for individual developers and small development houses whereas Enterprise Edition is a better fit for companies that require more advanced analytics and marketing capabilities together with ongoing support.
- Features: Enterprise Edition has additional features compared to Community Edition including automated push notifications, advanced segmentation, user profiles, in-app purchase analytics, retention, user flows, behavioral cohorts and custom dashboards.
- Data granularity: Community Edition stores data (only) in an aggregated format, which reduces the required storage and makes reporting incredibly fast. Enterprise Edition takes advantage of the same format but also stores individual occurrences of data points which enables more advanced capabilities such as segmentation, funnels, user profiles and behavioral cohorts to name a few.
- Working with raw data: Granular data, exclusive to Enterprise Edition, enables customers to take advantage of external BI tools or work directly with MongoDB to process and report data as they need.
- Deployment: Running and maintaining a Community Edition instance requires technical know-how of several technologies including Linux, Nginx, Node.js and MongoDB. Whereas an Enterprise Edition hosted or on-premise subscription includes hands on support.
- High availability and scalability: Countly engineers provide active support to Enterprise Edition customers for deployment planning and realization of this plan including replica set, sharding and a load balanced deployment setup on-premises or on popular cloud environments such as Google Cloud, AWS and Azure.
- Service-level agreement: Enterprise Edition subscriptions include an SLA with response and issue resolution guarantees. Community Edition users can take advantage of the community forum or GitHub to post issues.
Installing and upgrading Countly server
Countly installation script assumes it is running on a fresh, decent Ubuntu/CentOS/RHEL Linux without any services listening on port 80 or 443 (which should also be open to incoming traffic), and takes care of every library and software required to be installed for Countly to run.
There are several ways to install Countly:
-
The following command will download and install Countly on your Ubuntu or CentOS server.
wget -qO- https://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 Community Edition 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 and Frontend
Countly has a well defined API, that reads and writes data from/to the Countly backend. Dashboard is built using the read API, so it’s possible to fetch any information you see on the dashboard using the Countly API. If you are interested in creating new reports or visualisations in the UI, we recommend checking out the next section for creating plugins.
Extensibility and plugins
Countly is extensible using the plugin architecture. We suggest you read this document before creating your plugin. We provide support to companies with know-how in need to create 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
Badges
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?
<a href="https://count.ly/f/badge" rel="nofollow"><img style="width:145px;height:60px" src="https://count.ly/badges/dark.svg" alt="Countly - Product Analytics" /></a>
<a href="https://count.ly/f/badge" rel="nofollow"><img style="width:145px;height:60px" src="https://count.ly/badges/light.svg" alt="Countly - Product Analytics" /></a>