Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
a633877
feat(db): add page_views table for landing analytics
devtofunmi Aug 13, 2026
e0a5115
feat(db): generate page_views migration (0001)
devtofunmi Aug 13, 2026
7db7ed3
chore(db): add drizzle snapshot for migration 0001
devtofunmi Aug 13, 2026
876322c
chore(db): record migration 0001 in the drizzle journal
devtofunmi Aug 13, 2026
7777f74
feat(config): allow the ADMIN_USERNAMES env key
devtofunmi Aug 13, 2026
82124c6
feat(admin): analytics + user-management server module
devtofunmi Aug 13, 2026
d8dffeb
feat(lib): add countryFlag helper
devtofunmi Aug 13, 2026
ba23dac
feat(admin): add shared chart mount-guard hook
devtofunmi Aug 13, 2026
85b08b3
feat(admin): add overview stat tiles
devtofunmi Aug 13, 2026
70feae0
feat(admin): add 12-month growth & activity chart
devtofunmi Aug 13, 2026
b314047
feat(admin): add 30-day landing-views chart
devtofunmi Aug 13, 2026
b424f7b
feat(admin): add top-countries breakdown
devtofunmi Aug 13, 2026
36a06b8
feat(admin): add users table with plan toggle
devtofunmi Aug 13, 2026
d5cfac4
feat(admin): add recent-activity feed
devtofunmi Aug 13, 2026
f1807b0
feat(analytics): add page-view beacon component
devtofunmi Aug 13, 2026
e6295a9
feat(analytics): add page-view ingest endpoint
devtofunmi Aug 13, 2026
ca28609
feat(admin): add plan-change API route
devtofunmi Aug 13, 2026
4798134
feat(admin): add operator dashboard route
devtofunmi Aug 13, 2026
ef5abf8
feat(landing): fire a page-view beacon on the landing page
devtofunmi Aug 13, 2026
7c9eb7a
chore(routes): regenerate route tree for admin + tracking routes
devtofunmi Aug 13, 2026
29ebd17
chore(env): remove internal observability vars from the example
devtofunmi Aug 13, 2026
e97cc35
Merge branch 'main' into feat/admin-dashboard
devtofunmi Aug 14, 2026
c5b1018
feat(db): add users.is_admin for operator access
devtofunmi Aug 14, 2026
5031967
feat(db): migration for users.is_admin
devtofunmi Aug 14, 2026
b1b41ed
feat(admin): gate access by the is_admin DB flag, not an env allowlist
devtofunmi Aug 14, 2026
eadb187
feat(admin): use the DB isAdmin check in the plan-change route
devtofunmi Aug 14, 2026
1eaf576
chore(env): drop the unused ADMIN_USERNAMES key
devtofunmi Aug 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,3 @@ BACHS_API_KEY="your-bachs-secret-key"
BACHS_API_BASE="https://sandbox-api.bachs.io" # live: https://api.bachs.io
BACHS_PRO_PRODUCT_ID="your-bachs-pro-product-id"
BACHS_WEBHOOK_SECRET="your-bachs-webhook-signing-secret"

# --- OpenTelemetry -> SigNoz ---
# Point OTEL_EXPORTER_OTLP_ENDPOINT at self-hosted SigNoz (local Docker) or SigNoz Cloud.
OTEL_SERVICE_NAME="jargons-review-agent"
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
9 changes: 9 additions & 0 deletions drizzle/0001_jazzy_darkstar.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CREATE TABLE "page_views" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"path" text NOT NULL,
"country" text,
"referrer" text,
"created_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE INDEX "page_views_created_at_idx" ON "page_views" USING btree ("created_at");
1 change: 1 addition & 0 deletions drizzle/0002_luxuriant_joseph.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE "users" ADD COLUMN "is_admin" boolean DEFAULT false NOT NULL;
Loading
Loading