API description

Design
The platform contains two main parts: platform itself and mobile libraries. The platform is a high performance database running on Linux machine. The geotag is a small data structure (tuple) with next fields: time, latitude, longitude, altitude, URI. URI is being used as universal identifier (pointer) of the content or its part. This very small geotag definition allows process huge amount geotags very efficient. Tags in the database are marked up by channels. Channels is the domain specific tagging mechanism which is being used for geotags classification. User can User can reach data by using two kind of interfaces: RESTful API and web GUI. API provides JSON interface for all data into database including set of pre-defined filters and queries. Web interface provides several views on user data: map view (when user see tags on map), table view (when user can cee tags in channels and be able follow by URIs), channel view (here user can manupulate subscription).


 * Functional Requirements
 * Usecase Model
 * Domain dictionary
 * Design for web part
 * Database model
 * Description of sessions' work on the platform-side
 * Platform DB syncronization

Protocol

 * Request sequence
 * Exchange protocol
 * Exchange protocol testing using CURL
 * Testing using scripts
 * Filter protocol

Building

 * Building deb packages with name generator
 * Building deb packages
 * Build&deploy system

Installation

 * How to install
 * How to install web application
 * How to work in VM
 * Configuring mail sending

Project stuff

 * Possible comments in code
 * Branching policy
 * Webside development stuff

Learning materials

 * Android Hello World!
 * Android unit testing
 * Google maps API overview
 * Useful links
 * Analogs
 * Git quick help
 * Huge GIT manual (in russian)
 * Bash handbook (in russian)
 * Old, but very detailed qmake man (in russian)
 * Qt Multithreading overview
 * CPU Limit
 * Remote Compiler. Building Symbian packages. RDA.
 * Backup and restore PostgreSQL