Customer behavior tracking system for SCADA marketing website
  • Python 43.9%
  • JavaScript 29.8%
  • TypeScript 14.4%
  • HTML 8.2%
  • CSS 3%
  • Other 0.6%
Find a file
2026-09-14 10:57:11 +07:00
.opencode feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
backend feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
docs feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
email-templates feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
frontend feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
tracking feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
.env.example feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
.gitignore feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
.repomixignore feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
AGENTS.md feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
CLAUDE.md feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
docker-compose.yml feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
pack-for-prod.ps1 feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
README.md feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00
release-manifest.json feat: initial commit - Behavior Analytics Service ATSCADA 2026-09-14 10:57:11 +07:00

Behavior Analytics Service for SCADA

Customer behavior tracking system for SCADA marketing website. Captures page views, clicks, downloads, form submissions. Displays in admin dashboard.

Stack

  • Backend: Node.js + Express + TypeScript + Prisma ORM
  • Database: MySQL
  • Frontend: React + Vite + TypeScript
  • Tracking: Vanilla JS embeddable snippet

Setup

Prerequisites

  • Node.js 18+
  • MySQL 8.0+ (or Docker: docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=behavior_analytics mysql:8)

1. Environment

cp .env.example backend/.env
# Edit backend/.env with your MySQL credentials

2. Backend

cd backend
npm install
npx prisma migrate dev --name init
npx prisma generate
npm run dev

Server starts at http://localhost:3001

3. Frontend

cd frontend
npm install
npm run dev

Dashboard at http://localhost:5173

4. Tracking Script

Add to your website before </body>:

<script src="http://localhost:3001/tracker.js" data-api-url="http://localhost:3001"></script>

API Endpoints

Method Endpoint Description
GET /api/health Health check
POST /api/events Record behavior event
GET /api/events List events (paginated)
GET /api/reports/summary Aggregate stats
GET /api/reports/customers Customer list with event counts

Project Structure

├── backend/          # Express + Prisma API
├── frontend/         # React + Vite dashboard
├── tracking/         # Embeddable tracking script
└── .env.example      # Environment template