MCPSERV.CLUB
ESMira

ESMira

Self-Hosted

Self-hosted Experience Sampling research platform

Active(84)
18stars
0views
Updated 9 days ago

Overview

Discover what makes ESMira powerful

ESMira is a self‑hosted, open‑source platform designed to manage Experience Sampling Method (ESM) studies. From a developer’s standpoint, it is essentially a PHP‑based web application that exposes RESTful endpoints for study creation, participant enrolment, and data collection. The smartphone clients (Android & iOS) communicate with the server over HTTPS using JSON payloads, enabling real‑time push notifications and timed prompts. The system’s lightweight footprint allows it to run on any LAMP stack, making it ideal for research labs with limited infrastructure.

Study Lifecycle Management

Triggering & Scheduling

Multilingual UI

Data Export

Overview

ESMira is a self‑hosted, open‑source platform designed to manage Experience Sampling Method (ESM) studies. From a developer’s standpoint, it is essentially a PHP‑based web application that exposes RESTful endpoints for study creation, participant enrolment, and data collection. The smartphone clients (Android & iOS) communicate with the server over HTTPS using JSON payloads, enabling real‑time push notifications and timed prompts. The system’s lightweight footprint allows it to run on any LAMP stack, making it ideal for research labs with limited infrastructure.

Key Features

  • Study Lifecycle Management – Admins can create, edit, and archive studies through a web UI that maps directly to underlying MySQL tables (studies, participants, events).
  • Triggering & Scheduling – Built‑in cron integration allows precise scheduling of prompts (e.g., random, fixed intervals).
  • Multilingual UI – Uses the translate.jodli.dev service to provide runtime translations, making it straightforward for developers to add new locales.
  • Data Export – CSV and JSON exports are available via API endpoints (/api/export?study_id=…), facilitating downstream statistical analysis.
  • Webhooks – Optional webhook support lets external services receive real‑time notifications when a participant completes an entry.

Technical Stack

LayerTechnology
BackendPHP 8.2 (MVC‑like structure), MySQL 8.0
FrontendVanilla PHP templates, minimal JavaScript (no frameworks)
APIsRESTful JSON endpoints with token‑based authentication (X-Auth-Token)
MobileKotlin (Android), Swift (iOS) – native SDKs that consume the same API
DeploymentDocker‑ready (compose file available), but also works on any Apache/Nginx server with PHP support

The codebase is split into two repositories: ESMira-web (server) and ESMira-apps (mobile SDKs). The separation allows developers to extend either side independently.

Deployment & Infrastructure

ESMira’s minimal requirements make it deployable on a single VPS or even a Raspberry Pi. The Docker image bundles Apache, PHP, and MySQL, but the web server can be swapped out for Nginx with php-fpm. For scalability, developers can spin up multiple replicas behind a load balancer; the MySQL database is the single source of truth, so read‑replicas can be added for heavy analytics workloads. The application also supports SSL termination at the web server, ensuring secure data transmission.

Integration & Extensibility

  • Plugin System – Developers can add PHP modules that hook into lifecycle events (e.g., onStudyCreate, onResponseSubmit).
  • API Customization – Endpoints can be extended with query parameters; authentication tokens can be issued programmatically.
  • Webhook Configuration – Each study can register a callback URL; the server posts JSON payloads on response submission.
  • SDKs – The mobile apps expose a simple interface (ESMiraClient) that can be wrapped in other languages if needed.

Developer Experience

The documentation is organized into a GitHub Wiki, with clear sections for server setup, API reference, and mobile SDK usage. The code follows PSR‑12 coding standards, making it readable for PHP developers. Community support is active through GitHub Discussions and a dedicated forum; issues are triaged quickly, and pull requests receive constructive feedback. Licensing is MIT, allowing unrestricted commercial use.

Use Cases

  • Psychology Research – Deploy ESM studies with hundreds of participants without relying on commercial platforms.
  • Health Monitoring – Collect daily symptom logs from patients in a HIPAA‑compliant environment.
  • Human‑Computer Interaction – Run real‑time user experience studies with mobile prompts and in‑app analytics.
  • Educational Projects – Provide students with a hands‑on experience of building and managing a full stack research tool.

Advantages

  • Zero Vendor Lock‑In – Full control over data and infrastructure.
  • Low Footprint & Performance – PHP + MySQL stack is lightweight; typical response times are under 200 ms.
  • Extensibility – Plugin hooks and webhook support let developers tailor the system to niche workflows.
  • Open Source & Free – MIT license removes any cost barriers, while the community ensures continuous improvement.
  • Security‑First – All data is transmitted over HTTPS, and the application enforces strong authentication for both admins and participants.

ESMira offers a robust, developer‑friendly foundation for any project that requires precise, time‑sensitive data collection on mobile devices while keeping the entire stack under institutional control.

Open SourceReady to get started?

Join the community and start self-hosting ESMira today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
18
Technical Specs
Pricing
Open Source
Docker
None
Supported OS
LinuxWindowsmacOS
Author
KL-Psychological-Methodology
KL-Psychological-Methodology
Last Updated
9 days ago