Skip to content

qlarr-surveys/android

Repository files navigation

Qlarr Android App

Android application for the Qlarr survey platform - an open-source, offline-first data collection tool.

About Qlarr

Qlarr is an open-source survey platform designed for professional data collection with a focus on:

  • Offline-First Design: Collect data anywhere without internet connectivity
  • Advanced Survey Logic: Customize surveys with predictable and traceable state machine logic
  • Open-Source Freedom: Complete control and uncompromised privacy
  • Cross-Platform Portability: Seamlessly move surveys across platforms and devices
  • GDPR Compliance: Full data privacy and compliance with GDPR standards

Features

  • Offline data collection and synchronization
  • Support for various question types
  • Skip logic and relevance conditions
  • Randomization and weighted sampling
  • Built-in data validation
  • Real-time tracking and monitoring
  • Customizable themes and branding
  • AI-compatible JSON format for survey storage

Architecture

The Qlarr Android app is part of the broader Qlarr ecosystem:

  • survey-engine-kmp: Kotlin Multiplatform survey engine (shared logic)
  • survey-engine-script: Survey definition and scripting
  • backend: Server infrastructure for data synchronization
  • android: This repository - Android mobile application

Getting Started

Prerequisites

  • Android Studio Arctic Fox or later
  • Android SDK 21 (Lollipop) or higher
  • Kotlin 1.9+
  • Gradle 8.0+

Installation

  1. Clone the repository:
git clone https://github.com/qlarr-surveys/android.git
cd android
  1. Open the project in Android Studio

  2. Sync Gradle dependencies

  3. Build and run the application:

./gradlew assembleDebug
./gradlew installDebug

Usage

Creating and Deploying Surveys

  1. Signup at Qlarr Console
  2. Create a new survey, make sure to publish it from settings
  3. Run android app, on Login page click on Login to Private Server, use your console email credentials and server url = https://api.qlarr.com
  4. Collect responses offline
  5. Sync data when connectivity is available

Offline Data Collection

The app is designed to work seamlessly in offline environments:

  • All survey data is stored locally
  • Automatic synchronization when network becomes available
  • Conflict resolution for multi-device scenarios

Development

Project Structure

android/
├── app/
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/
│   │   │   ├── res/
│   │   │   └── AndroidManifest.xml
│   │   └── test/
│   └── build.gradle
├── gradle/
└── build.gradle

Building from Source

To build the release version:

./gradlew assembleRelease

To run tests:

./gradlew test
./gradlew connectedAndroidTest

Contributing

We welcome contributions to the Qlarr Android app! Please see our Contributing Guidelines for more information.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

  • Follow Kotlin coding conventions
  • Use meaningful variable and function names
  • Write unit tests for new features
  • Document public APIs

Testing

Unit Tests

./gradlew test

Instrumentation Tests

./gradlew connectedAndroidTest

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.

The AGPL-3.0 license ensures that:

  • You have the freedom to use, modify, and distribute this software
  • Any modifications must be released under the same license
  • Network use triggers source code disclosure requirements
  • The software remains free and open for all users

Related Projects

Resources

Support

For questions, issues, or feature requests:

Acknowledgments

Built with modern Android development tools and libraries:

  • Kotlin for Android development
  • Android Jetpack components
  • Room for local data persistence
  • Coroutines for asynchronous operations
  • Material Design components

Roadmap

Upcoming features and improvements:

  • Enhanced offline capabilities
  • Additional question types
  • Improved data visualization
  • Advanced analytics integration
  • Multi-language support enhancements

Qlarr - Open Source, Offline-First Survey Platform

For more information, visit qlarr.com

About

Android app for Qlarr — offline-first survey data collection with skip logic, randomization, and background sync

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors