Android application for the Qlarr survey platform - an open-source, offline-first data collection tool.
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
- 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
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
- Android Studio Arctic Fox or later
- Android SDK 21 (Lollipop) or higher
- Kotlin 1.9+
- Gradle 8.0+
- Clone the repository:
git clone https://github.com/qlarr-surveys/android.git
cd android-
Open the project in Android Studio
-
Sync Gradle dependencies
-
Build and run the application:
./gradlew assembleDebug
./gradlew installDebug- Signup at Qlarr Console
- Create a new survey, make sure to publish it from settings
- Run android app, on Login page click on Login to Private Server, use your console email credentials and server url = https://api.qlarr.com
- Collect responses offline
- Sync data when connectivity is available
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
android/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ ├── res/
│ │ │ └── AndroidManifest.xml
│ │ └── test/
│ └── build.gradle
├── gradle/
└── build.gradle
To build the release version:
./gradlew assembleReleaseTo run tests:
./gradlew test
./gradlew connectedAndroidTestWe welcome contributions to the Qlarr Android app! Please see our Contributing Guidelines for more information.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Kotlin coding conventions
- Use meaningful variable and function names
- Write unit tests for new features
- Document public APIs
./gradlew test./gradlew connectedAndroidTestThis 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
- survey-engine-kmp - Kotlin Multiplatform survey engine
- survey-engine-script - Survey definition scripting
- backend - Backend infrastructure
For questions, issues, or feature requests:
- Open an issue on GitHub Issues
- Visit our community forum
- Check the FAQ
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
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