wq is a software framework designed to facilitate the development of robust, offline-capable mobile / web apps. The original use case for wq is mobile data collection, whether by professional environmental monitoring staff or by volunteers in e.g. citizen science and mobile crowdsourcing projects. However, wq is also useful as a platform for building a variety of mobile-first websites and CRUD applications.
The goal of wq is to make it easy to rapidly assemble a complete data collection and management platform, while ensuring enough flexibility to adapt to project-specific data models and workflows. While wq is not quite a point-and-click "form-builder" solution, it does provide a number of default templates and utilities to make it easy to get started quickly and customize later. Moreover, wq has already been used to create point-and-click form builder solutions for specific domains.
From an implementation standpoint, wq is comprised of five modules:
wqcommand-line interface used by the other modules.
Like any software framework, the design of wq incorporates a number of core principles and assumptions. The documentation includes an API Conventions chapter proposing interoperable solutions for addressing common infrastructure concerns. We hope that this generalized approach will give individual projects the flexibility to replace parts of the wq stack with alternatives built with other platforms and programming languages.
The documentation is structured to lay the foundation and conventions before getting into the implementation details. The chapters are as follows: