Pedometer
하드웨어 걸음 센서를 활용한 가벼운 안드로이드 걸음수 측정 앱
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Own your health data. Android app that reads Health Connect on-device and syncs the metrics you choose to a server you control. Ships a self-hosted Backend receiver with a private dashboard and charts. No cloud middleman, no Google Sheets, no CSV exports.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Own your health data. Vitalix reads your Health Connect records on-device and forwards them as JSON to a server you control. It ships with a self-hosted receiver that stores your health data in your own Postgres and shows it back to you on a private dashboard — no Google Sheets, no CSV; your records live on infrastructure you own.
Project page: marvello.xyz/vitalix
List of data that we export and store can be check on Data Coverage
┌──────────────┐ reads ┌───────────────┐ POST /api/health ┌──────────────────┐
│ Health │ ─────────► │ Vitalix app │ ───────────────────► │ Vitalix receiver │
│ Connect │ on-device │ (Android) │ Bearer <token> │ (your server) │
└──────────────┘ └───────────────┘ └──────────────────┘
Postgres + dashboard
| Path | What it is |
|---|---|
android/ | The Vitalix Android app (com.android.vitalix). Reads Health Connect, forwards JSON. |
web/ | The Vitalix receiver — a self-hosted Node/Express + Postgres server that ingests, stores, and charts the data. |
android/healthexport/ | Upstream reference clone. Read-only; not shipped. |
docs/ | Architecture, database ERD, data coverage, branding — see docs/README.md. |
android/)Reads Health Connect on-device and forwards only the metrics you enable to your server. Highlights:
EncryptedSharedPreferences.Build:
cd android
./gradlew installDebug # build + install to a connected device/emulator
./gradlew testDebugUnitTest # JVM unit tests
Requires a device/emulator with Health Connect installed. minSdk 30, compileSdk 36, Java 11.
web/)A small Express app that authenticates the app, ingests the JSON payload at POST /api/health, stores per-day rows in Postgres, and serves a private dashboard.
POST /api/health (ingest, bearer-auth), GET /api/days (query), GET /healthz (liveness).node-pg-migrate.cd web
cp .env.example .env # set DATABASE_URL, JWT_SECRET, APP_BASE_URL
docker compose up # app + Postgres, migrations run on start
Or without Docker (needs a running Postgres):
cd web
npm ci
npm run migrate up
npm run create-admin # create your first account
npm start # listens on :3000
npm test # unit tests
Point the Android app's server URL at https://<your-host>/api/health and paste the token from your account.
Pushes to main (and v* tags) run the tests and publish a Docker image to GitHub Container Registry via .github/workflows/web.yml:
ghcr.io/<owner>/<repo>-web:latest
Deploy that image anywhere that runs containers, supplying the same env vars as .env.example and a DATABASE_URL pointing at your Postgres. To publish, ensure GitHub Actions has package-write permission (Settings → Actions → General → Workflow permissions → Read and write).
web/.env.example documents every variable. The essentials:
| Variable | Purpose |
|---|---|
DATABASE_URL | Postgres connection string. |
JWT_SECRET | Long random string — signs session/auth tokens. Change this. |
APP_BASE_URL | Public URL of the receiver (used in reset/invite links). |
SMTP_*, MAIL_FROM | Optional. If unset, reset/invite links are logged to the server console. |
PolyForm Noncommercial License 1.0.0: free to use, modify, and share for any noncommercial purpose. Commercial use requires a separate paid license - contact [email protected] to arrange one. See LICENSE for the full text.
The upstream android/healthexport/ clone is included for reference only and is not covered by this license.