vccs
Vue 3용 차트 컴포넌트 모음, Recharts에서 포팅
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Open-source, privacy-first web analytics platform — traffic , session replays, heatmaps, funnels, behavioral automations, and embeddable UI components.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Open-source, privacy-first web analytics — real-time dashboards, session replays,
heatmaps, funnels, revenue tracking, behavioral automations, and natural-language queries.
Try it at seentics.com/websites/demo — no account needed.
Self-hosted analytics without cookies, fingerprinting, or third-party data sharing.
Your data stays on your infrastructure.README 전문 보기 ↗Most teams pay for a traffic tool, a replay and heatmap tool, a popup tool and a conversion tracking tool, and send visitor data to all of them. Seentics does all of that in one place, on your own servers: see what visitors do, capture them before they leave, and send every conversion to your ad platforms.
Understand visitors
Capture and convert
AI
⌘K)For developers and agencies
@seentics/ui React blocks for putting Seentics charts in your own app| Seentics | Plausible CE | Umami | PostHog (self-hosted) | Hotjar | |
|---|---|---|---|---|---|
| Open source | ✅ AGPL-3.0 | ✅ AGPL-3.0 | ✅ MIT | ✅ MIT | ❌ |
| Self-hosting | ✅ Supported | ✅ | ✅ | ⚠️ Hobby deploy, officially unsupported | ❌ |
| Minimum infrastructure | PostgreSQL + S3 | PostgreSQL + ClickHouse | PostgreSQL | 4 vCPU / 16 GB RAM VM | — |
| Cookie-free by default | ✅ | ✅ | ✅ | ❌ | ❌ |
| Traffic analytics | ✅ | ✅ | ✅ | ✅ | ❌ |
| Session replay | ✅ | ❌ | ✅ | ✅ | ✅ |
| Heatmaps | ✅ | ❌ | ✅ | ✅ | ✅ |
| Funnels | ✅ | Cloud only | ✅ | ✅ | ✅ |
| Revenue tracking | ✅ | Cloud only | ✅ | ✅ | ❌ |
| On-site popups and forms | ✅ | ❌ | ❌ | Surveys only | Surveys only |
| Ask questions in plain English | ✅ | ❌ |
Compiled in October 2026 from each product's public docs. These products change fast, so if a cell is wrong, open an issue and we will fix it.
git clone https://github.com/Seentics/seentics.git
cd seentics
docker compose up -d --build
Brings up PostgreSQL, objex (S3-compatible storage), the API on :8001 and the dashboard on :4000.
Create a website in the dashboard, then add the tracking script below.
For production, see DEPLOYMENT.md.
To test real tracking across the full OSS stack, see Session recording E2E
or Heatmap E2E. From web/, run npm run test:e2e:recording
or npm run test:e2e:heatmap; each creates an isolated test stack and removes its disposable data afterward.
Add to your <head>:
<script
defer
src="https://your-seentics-domain.com/trackers/seentics.js"
data-website-id="YOUR_WEBSITE_ID"
></script>
Pageviews, scroll depth, exit intent and rage clicks are captured automatically.
YOUR_WEBSITE_ID is the id shown on your website's settings page.
// Custom event, with optional properties
seentics.track('signup_click');
seentics.track('purchase', { value: 49.99, currency: 'USD', order_id: 'ORD-1234' });
// Identify a visitor. Note the argument order: id first, then traits.
seentics.identify('user_123', { email: '[email protected]', plan: 'pro' });
seentics.page(); // manual pageview, if auto-tracking is off
seentics.flush(); // send queued events immediately
Revenue reporting keys off value and currency on any event; goals are configured
in the dashboard rather than in code.
seentics/
├── core/ Bun + Hono API — a modular monolith
│ ├── app/ Composition root, where the graph is wired
│ ├── modules/ Domain modules, one table each
│ ├── platform/ Cross-cutting; owns no table
│ └── db/ Drizzle schema and migrations
├── web/ Next.js dashboard, plus public/trackers/seentics.js
└── ui/blocks/ @seentics/ui — embeddable React blocks (MIT)
Modules talk to each other through explicit interfaces, injected at startup; there is no
event bus. Read core/ARCHITECTURE.md before changing core/ —
it covers the module boundaries, why the event bus and outbox were removed, and the known
gaps.
Browser ──┬─ tracker ──▶ POST /api/v1/tracker/collect ─┐
└─ dashboard ─▶ Next.js :4000 ───────────────┤
▼
Bun API :8001
│ │
PostgreSQL S3 / objex
(events, meta) (replays, heatmaps)
Tracker events are buffered in memory and flushed in batches, so /collect returns
without waiting on the database. Replay chunks and heatmap screenshots go to
S3-compatible storage.
| Layer | Stack |
|---|---|
| API | Bun · Hono · Drizzle ORM |
| Dashboard | Next.js 15 · Tailwind · shadcn/ui |
| Data | PostgreSQL 16 · S3-compatible object storage |
| Replays | rrweb |
cd core
bun install
bun run check # typecheck — expected to be clean
bun test # ~630 tests, no database or S3 required
bun run dev
CI runs check and test on every pull request, and both are expected to pass.
Tests use in-memory doubles of the module interfaces, so no services are needed.
Two things worth knowing before you write tests: mock.module is process-global in
Bun, so an incomplete stub becomes the real module for every later test file — make
stubs complete. And core/ARCHITECTURE.md lists the current known gaps if you are
looking for something to pick up.
See CONTRIBUTING.md for the PR process.
New here? Issues labelled good first issue
are scoped to a single file or two. Adding an integration provider, for example, means adding one file under
core/modules/integrations/providers/ and one line in its registry.ts. The roadmap lists what is
planned, and Discussions is the place for questions and ideas.
GNU AGPL v3.0 — self-host freely; modifications must be released under
the same license. The @seentics/ui package is separately
MIT.
| ❌ |
| ✅ |
| — |