{"id":26274444,"url":"https://github.com/exios66/gazetracker","last_synced_at":"2025-05-05T22:57:56.328Z","repository":{"id":277643310,"uuid":"933082005","full_name":"Exios66/GazeTracker","owner":"Exios66","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-29T02:32:56.000Z","size":1125,"stargazers_count":2,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T22:57:51.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://exios66.github.io/GazeTracker/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Exios66.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-15T05:15:33.000Z","updated_at":"2025-03-15T10:01:26.000Z","dependencies_parsed_at":"2025-02-15T06:26:38.294Z","dependency_job_id":"e81f5110-7ee3-44ac-b7f4-72af2394c56c","html_url":"https://github.com/Exios66/GazeTracker","commit_stats":null,"previous_names":["exios66/gazetracker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FGazeTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FGazeTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FGazeTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FGazeTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Exios66","download_url":"https://codeload.github.com/Exios66/GazeTracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252590562,"owners_count":21772936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-14T09:19:48.958Z","updated_at":"2025-05-05T22:57:56.312Z","avatar_url":"https://github.com/Exios66.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real-Time online Eye-Tracking\n\n## Quick Start\n\nTo start the development environment with all necessary services:\n\n```bash\nnpm run start:dev\n```\n\nThis command will:\n\n1. Install all dependencies (both client and server)\n2. Start the server with auto-reload\n3. Start the client development server\n4. Handle automatic port selection if default ports are in use\n\n## Development Commands\n\n- `npm run dev` - Start both client and server in development mode\n- `npm run dev:server` - Start only the server with auto-reload\n- `npm run dev:client` - Start only the client development server\n- `npm run dev:setup` - Install all dependencies\n- `npm run dev:clean` - Remove all node_modules\n- `npm run dev:reset` - Clean and reinstall all dependencies\n- `npm run build` - Build the client for production\n\n## Port Configuration\n\nThe application automatically handles port selection:\n\n- Server default port: 3001 (will automatically find next available port if in use)\n- Client default port: 3000\n\nYou can configure the ports using environment variables:\n\n- Server: `PORT` environment variable\n- Client: `PORT` environment variable (when starting the client)\n\n## GazeCloudAPI Integration details\n\nRegister origin domain address of your web page: \u003chttps://api.gazerecorder.com/register/\u003e\n\n### Include JavaScript\n\n\u003cscript src=\"https://api.gazerecorder.com/GazeCloudAPI.js\" \u003e\u003c/script\u003e\nStart eye tracking GazeCloudAPI.StartEyeTracking();\n\n#### Define your results data\n\ncallback GazeCloudAPI.OnResult = function (GazeData) { GazeData.state // 0: valid gaze data; -1 : face tracking lost, 1 : gaze data uncalibrated GazeData.docX // gaze x in document coordinates GazeData.docY // gaze y in document coordinates GazeData.time // timestamp }\n\n#### After you finish your test stop eye tracking GazeCloudAPI.StopEyeTracking()\n\noptional callbacks: GazeCloudAPI.OnCalibrationComplete =function(){ console.log('gaze Calibration Complete') }\n\nGazeCloudAPI.OnCamDenied = function(){ console.log('camera access denied') }\n\nGazeCloudAPI.OnError = function(msg){ console.log('err: ' + msg) }\n\nDisable/Enable click recalibration GazeCloudAPI.UseClickRecalibration = true;\n\nSimple Example: \u003chttps://api.gazerecorder.com/\u003e\n\n#### Supported browsers: Chrome 53+ | Edge 12+ | Firefox 42+ | Opera 40+ | Safari 11+\n\n##### Read More: \u003chttps://gazerecorder.com/gazecloudapi/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexios66%2Fgazetracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexios66%2Fgazetracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexios66%2Fgazetracker/lists"}