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 & 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 API, 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
##Supported devices
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.
##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 and installation instructions for Docker
##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 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.
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
- Countly web page
- Countly support
- Documentation & API reference guide
- Countly Enterprise & Cloud Edition
- Extended features of Countly Enterprise Edition, including crash reports, referral analytics, user profiles, geolocations with push, detailed segmentation, funnels, real-time dashboard and more.