Alooma is a data pipeline as a service, enabling companies to rely on Alooma as a core data engineering platform to answer all of its data integration challenges. A very common use case of Alooma is to collect events generated by mobile applications, transform them into a uniform, tabular format, and load them to a cloud data warehouse like Amazon Redshift or Google BigQuery.
In order to stay compatible with existing industry standards, Alooma forked existing code libraries from Mixpanel, the mobile analytics company, and made some minimal modifications to enable developers to conveniently use them in their code, sometimes alongside existing mixpanel libraries. Recently, adoption of the Alooma version of these SDKs has grown, and with it, the demand for simplicity and resilience. These demands are the basis for this project.
## Milestone 1:
1. Fork the existing Mixpanel Android SDK
2. Strip down all functions which are unnecessary for the following API:
A. Instance creation - MixpanelAPI mixpanel = [url removed, login to view](this, projectToken);
B. Event reporting - [url removed, login to view]("Event name", props);
C. Add Superproperties (fields that get added to every tracked event automatically) -
- registerSuperProperties([url removed, login to view] superProperties)
- registerSuperPropertiesMap([url removed, login to view] superProperties)
- registerSuperPropertiesOnce([url removed, login to view] superProperties)
- registerSuperPropertiesOnceMap([url removed, login to view] superProperties)
3. Rename all occurrences of “Mixpanel” to “Alooma”.
4. Update the existing test application to work with the modified version of the SDK.
## Milestone 2:
1. Add the following fields to every tracked event:
- Session ID (generated on every SDK init, and stays constant until it is closed),
- Message index (Starts at 0 per session, increments with every call to track.
- sending_time - timestamp when the event was sent over the network
2. Add an option to set serverUrl when initializing an SDK
## Milestone 3:
1. Working test suite with over 90% coverage
2. Maven Central upload script