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
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 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
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),
countly.session.js (responsible for calculating session related metrics) and
api/api.js, which is Countly write and read API.
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?