Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
4605c53
feat: integrate website-hook-sdk with auto-screenshot capture component
Methika1234 Dec 2, 2025
fd28117
refactor: simplify AutoScreenshotCapture by delegating config to SDK
Methika1234 Dec 2, 2025
fbd5125
chore: configure auto-capture interval to 100ms
Methika1234 Dec 3, 2025
5800eff
feat: enable pointer tracking with 15ms batching for testing
Methika1234 Dec 3, 2025
5301253
chore: adjust pointer tracking to 1 second batching for performance t…
Methika1234 Dec 3, 2025
80f1863
refactor: replace AutoScreenshotCapture with InteractionTracker compo…
Methika1234 Dec 4, 2025
061d919
refactor: simplify InteractionTracker to use initInteractionTracking API
Methika1234 Dec 4, 2025
120033e
docs: add explanatory comments to InteractionTracker component
Methika1234 Dec 7, 2025
4c811e6
chore: use local website-hook-sdk for development
Methika1234 Dec 22, 2025
c18cf6a
chore: configure webpack and transpilation for local website-hook-sdk
Methika1234 Dec 23, 2025
5d0454b
chore: switch from bun to pnpm package manager
Methika1234 Dec 23, 2025
2b53f42
chore: remove webpack and transpilation configuration
Methika1234 Dec 23, 2025
234a1ca
chore: migrate properly from pnpm to bun
prdai Dec 24, 2025
d0c4150
chore: update pnpm lock file
prdai Dec 24, 2025
92d40e9
chore: update versions
prdai Dec 24, 2025
9989c94
chore: update the website hook sdk version
prdai Dec 24, 2025
c3ebda5
chore: update playwright ci/cd
prdai Dec 24, 2025
1f69323
chore: update again
prdai Dec 24, 2025
c2fb82f
chore: add pnpm setup action
prdai Dec 24, 2025
8352c0f
chore: specify pnpm pacakge version
prdai Dec 24, 2025
bb8e322
chore: add pnpm
prdai Dec 24, 2025
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
8 changes: 4 additions & 4 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- uses: pnpm/action-setup@v4
- name: Install dependencies
run: bun install
run: pnpm install
- name: Install Playwright Browsers
run: bun x playwright install --with-deps
run: pnpm exec playwright install --with-deps
- name: Run Playwright tests
run: bun run test
run: pnpm run test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
Expand Down
17 changes: 10 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
FROM oven/bun:1-alpine AS deps
FROM node:20-alpine AS deps
RUN corepack enable && corepack prepare pnpm@9 --activate
WORKDIR /app

COPY package.json bun.lock ./
COPY package.json pnpm-lock.yaml ./

RUN bun install --frozen-lockfile
RUN pnpm install --frozen-lockfile

FROM oven/bun:1-alpine AS builder
FROM node:20-alpine AS builder
RUN corepack enable && corepack prepare pnpm@9 --activate
WORKDIR /app

COPY --from=deps /app/node_modules ./node_modules
COPY . .


ENV NEXT_TELEMETRY_DISABLED=1
ENV DOCKER_BUILD=true
RUN bun run build:docker
RUN pnpm build

FROM oven/bun:1-alpine AS runner
FROM node:20-alpine AS runner
WORKDIR /app

ENV NODE_ENV=production
Expand All @@ -35,4 +38,4 @@ EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME=0.0.0.0

CMD ["bun", "server.js"]
CMD ["node", "server.js"]
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Modern e-commerce storefront built with Next.js 15, React 19, and Tailwind CSS v

## Prerequisites

- Bun v1.3+
- Pnpm

## Quick Start

Expand All @@ -43,10 +43,10 @@ Docker Hub: [bitbybitb3/rogue-store](https://hub.docker.com/r/bitbybitb3/rogue-s
# Clone and install
git clone https://github.com/CROW-B3/rogue-store.git
cd rogue-store
bun install
pnpm install

# Run dev server
bun run dev
pnpm run dev
```

Open [http://localhost:3000](http://localhost:3000) to view the app.
Expand All @@ -70,17 +70,17 @@ rogue-store/

```bash
# Development
bun run dev # Start dev server
bun run build # Build for production
bun run lint # Run ESLint
bun run format # Format with Prettier
pnpm run dev # Start dev server
pnpm run build # Build for production
pnpm run lint # Run ESLint
pnpm run format # Format with Prettier

# Testing
bun run test # Run Playwright tests
bun run test:ui # Run tests in UI mode
pnpm run test # Run Playwright tests
pnpm run test:ui # Run tests in UI mode

# Deployment
bun run deploy # Deploy to Cloudflare Pages
pnpm run deploy # Deploy to Cloudflare Pages
```

## Deployment
Expand All @@ -89,7 +89,7 @@ bun run deploy # Deploy to Cloudflare Pages

```bash
wrangler login
bun run deploy
pnpm run deploy
```

### Vercel
Expand Down
2 changes: 2 additions & 0 deletions app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { Footer } from "@/components/layout/footer";
import { CartDrawer } from "@/components/cart/cart-drawer";
import { ToastProvider } from "@/components/ui/toast-provider";
import { WebVitals } from "@/_components/web-vitals";
import { InteractionTracker } from "@/components/interaction-tracker";

const inter = Inter({ subsets: ["latin"] });

Expand Down Expand Up @@ -37,6 +38,7 @@ export default function RootLayout({
<CartDrawer />
<ToastProvider />
{process.env.NODE_ENV === "production" ? null : <WebVitals />}
<InteractionTracker />
</body>
</html>
);
Expand Down
3,316 changes: 0 additions & 3,316 deletions bun.lock

This file was deleted.

15 changes: 15 additions & 0 deletions components/interaction-tracker.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"use client";

import { useEffect } from "react";
import { initInteractionTracking } from "@b3-crow/website-hook-sdk";

export function InteractionTracker() {
useEffect(() => {
// This starts both screenshot capture and mouse cursor tracking
initInteractionTracking({
logging: true, // Enable detailed pointer tracking logs
});
}, []);

return null;
}
3 changes: 0 additions & 3 deletions next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ const nextConfig: NextConfig = {
compress: false,
poweredByHeader: false,
trailingSlash: true,
experimental: {
serverMinification: false,
},
images: {
remotePatterns: [
{
Expand Down
37 changes: 19 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
"name": "rouge-store",
"version": "0.1.0",
"private": true,
"packageManager": "pnpm@10.26.2",
"scripts": {
"dev": "next dev --turbopack",
"dev": "next dev",
"build": "next build",
"build:cloudflare": "opennextjs-cloudflare build",
"build:docker": "next build",
Expand All @@ -22,41 +23,41 @@
"cf-typegen": "wrangler types --env-interface CloudflareEnv ./cloudflare-env.d.ts",
"prepare": "husky",
"lint-staged": "lint-staged",
"lighthouse:performance": "bunx lighthouse http://localhost:3000 --only-categories=performance --output=json --verbose --chrome-flags=\"--headless\" --output-path ./.lighthouse/lighthouse-performance.json"
"lighthouse:performance": "pnpm exec lighthouse http://localhost:3000 --only-categories=performance --output=json --verbose --chrome-flags=\"--headless\" --output-path ./.lighthouse/lighthouse-performance.json"
},
"dependencies": {
"@b3-crow/website-hook-sdk": "^0.0.9",
"@b3-crow/website-hook-sdk": "0.0.17",
"@opennextjs/cloudflare": "^1.14.7",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-separator": "^1.1.8",
"@radix-ui/react-slot": "^1.2.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^12.0.2",
"framer-motion": "^12.23.26",
"lighthouse": "^13.0.1",
"lucide-react": "^0.462.0",
"next": "15.5.6",
"react": "19.1.0",
"react-dom": "19.1.0",
"sonner": "^1.7.1",
"sonner": "^1.7.4",
"tailwind-merge": "^2.6.0",
"zustand": "^5.0.2"
"zustand": "^5.0.9"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@playwright/test": "^1.56.1",
"@tailwindcss/postcss": "^4",
"@types/node": "^20.19.24",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"@eslint/eslintrc": "^3.3.3",
"@playwright/test": "^1.57.0",
"@tailwindcss/postcss": "^4.1.18",
"@types/node": "^20.19.27",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"eslint": "^9.39.2",
"eslint-config-next": "15.5.6",
"husky": "^9.1.7",
"lint-staged": "^16.2.6",
"prettier": "^3.6.2",
"tailwindcss": "^4",
"typescript": "^5",
"wrangler": "^4.45.3"
"lint-staged": "^16.2.7",
"prettier": "^3.7.4",
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3",
"wrangler": "^4.56.0"
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
Expand Down
2 changes: 1 addition & 1 deletion playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default defineConfig({
],

webServer: {
command: "bun run dev",
command: "pnpm run dev",
url: "http://localhost:3000",
reuseExistingServer: !process.env.CI,
},
Expand Down
Loading