AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Open-source GPS and IoT device tracking console with REST and LoRaWAN ingestion.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Open-source field testing for moving hardware. Capture GPS and arbitrary sensor telemetry, diagnose data quality, and compare hardware or firmware test runs on a fast MapLibre map.
Public Beta — v0.3.1-beta.1. uplotr is suitable for evaluation, maker field tests, and self-hosted deployments. Back up location data before upgrades. The official instance does not offer public registration or accept visitor location uploads.README 전문 보기 ↗Open-source field testing for moving hardware. Capture GPS and arbitrary sensor telemetry, diagnose data quality, and compare hardware or firmware test runs on a fast MapLibre map.
Website · Live synthetic demo · Documentation · Discussions
Public Beta — v0.3.1-beta.1. uplotr is suitable for evaluation, maker field tests, and self-hosted deployments. Back up location data before upgrades. The official instance does not offer public registration or accept visitor location uploads.
Not included in this Beta: open registration, multi-tenant SaaS, alerts, native MQTT/Kafka adapters, public report sharing, or a commercial SLA. These are roadmap items, not advertised features.
git clone https://github.com/iblh/uplotr.git
cd uplotr
cp .env.prod.example .env
# Set strong AUTH_SECRET, DB_PASSWORD, and CRON_SECRET values in .env
docker compose -f docker-compose.prod.yml up -d
Open http://localhost:3000/login, create the owner account, then create an API key in Settings → Access and security. The full key is displayed once.
curl -X POST http://localhost:3000/api/v1/ingest \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"device_id":"tracker-01","lat":37.7749,"lon":-122.4194,"battery":98,"metrics":{"altitude":32,"voltage":4.08}}'
See the Quick Start, Deployment Guide, and API Reference for complete instructions.
flowchart LR
D[Devices and gateways] -->|REST or LoRaWAN webhook| A[Next.js API]
A --> V[Validation, auth, rate limits]
V --> P[(PostgreSQL)]
P --> C[Private console /app]
S[Deterministic synthetic data] --> M[Public read-only demo /demo]
C --> L[MapLibre + OpenFreeMap]
M --> L
The public website and demo are isolated from private tracking data. API routes enforce their own authorization; the request proxy is used only for page navigation.
Requires Node.js 22, pnpm 10, and PostgreSQL.
pnpm install
cp .env.example .env
pnpm exec prisma migrate dev
pnpm dev
Before opening a pull request:
pnpm lint
pnpm typecheck
pnpm test
pnpm build
CI also runs real-Postgres integration tests, browser smoke tests, a production dependency audit, and a Docker build.
Internet-facing deployments should use AUTH_MODE=REQUIRED, strong unique secrets, HTTPS, a connection-pooled PostgreSQL database near the application, and regular encrypted backups. Location data is sensitive; do not attach real payloads, coordinates, credentials, or logs to public issues.
Please report suspected vulnerabilities privately as described in SECURITY.md.
Questions and ideas belong in GitHub Discussions; actionable defects belong in Issues. See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SUPPORT.md.
Licensed under Apache-2.0.