Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
35 changes: 19 additions & 16 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
# Port Configuration
# Backend server port
BACKEND_PORT=3001

# Client (frontend) port
CLIENT_PORT=3000

# Signal API Configuration
# URL for the Signal API server (if using Signal tracking)
SIGNAL_API_URL=http://localhost:8080

# backend url
BACKEND_URL=http://localhost:3001

# Node Environment
NODE_ENV=production
# Port Configuration
# Backend server port
BACKEND_PORT=3001

# Client (frontend) port
CLIENT_PORT=3000

# API port
API_PORT=8080

# Signal API Configuration
# URL for the Signal API server (if using Signal tracking)
SIGNAL_API_URL=http://localhost:8080

# backend url
BACKEND_URL=http://localhost:3001

# Node Environment
NODE_ENV=production
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Bug report
description: Report a reproducible problem
title: "[Bug]: "
labels: ["bug"]
body:
- type: textarea
id: summary
attributes:
label: Summary
description: What is broken?
placeholder: A short description of the issue.
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Exact steps so maintainers can reproduce.
placeholder: |
1. Go to ...
2. Run ...
3. Observe ...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
placeholder: What should happen?
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
placeholder: What actually happened?
validations:
required: true

- type: textarea
id: logs
attributes:
label: Logs / Screenshots
description: Paste relevant logs or screenshots.

- type: input
id: env
attributes:
label: Environment
description: OS, Node version, Docker version (if relevant).
placeholder: "Windows 11, Node 20.x, Docker 27.x"
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Security report
url: https://github.com/gommzystudio/device-activity-tracker/security/advisories/new
about: Please report security vulnerabilities privately.
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Feature request
description: Suggest a new idea or improvement
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: Problem
description: What problem are you trying to solve?
placeholder: Describe the pain point.
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed Solution
description: What would you like to happen?
placeholder: Describe your ideal behavior/API/UI.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Optional alternative approaches you considered.

- type: textarea
id: context
attributes:
label: Additional Context
description: Any links, examples, or screenshots.
18 changes: 18 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Summary

Describe what changed and why.

## Checklist

- [ ] I tested locally with the current repo layout (`backend/` and `frontend/`)
- [ ] Backend builds: `npm run build --prefix backend`
- [ ] Frontend builds: `npm run build --prefix frontend`
- [ ] I updated docs (`README.md` / comments) if behavior, setup, or config changed
- [ ] I included screenshots/logs for UI or runtime changes when useful
- [ ] This PR is scoped to a single concern and does not include unrelated changes

## Notes for Reviewers

- Breaking changes:
- Config/env changes:
- Follow-up work:
43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: CI

on:
pull_request:
push:
branches: [master]

jobs:
backend:
name: Backend Build
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: backend/package-lock.json
- name: Install
run: npm ci
- name: Build
run: npm run build

frontend:
name: Frontend Build
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install
run: npm ci
- name: Build
run: npm run build
85 changes: 38 additions & 47 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# Node modules
# Dependencies
node_modules/
client/node_modules/
backend/node_modules/
frontend/node_modules/

# Build outputs
dist/
build/
client/build/
backend/dist/
frontend/build/

# WhatsApp authentication data (IMPORTANT: Keep this private!)
# Runtime/auth data (never commit)
auth_info_baileys/
auth_info_multi/
.wwebjs_auth/

# Environment variables
# Environment files
.env
.env.local
.env.*.local
Expand All @@ -26,56 +28,45 @@ yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# OS files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
*~

# IDE files
.idea/
.vscode/
*.swp
*.swo
*~
.project
.classpath
.settings/
*.sublime-project
*.sublime-workspace

# Testing
# Coverage and test artifacts
coverage/
.nyc_output/

# Temporary files
tmp/
temp/
*.tmp
# Caches
.cache/
.parcel-cache/
.npm/
.eslintcache
.stylelintcache

# TypeScript
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache
# Temporary files
tmp/
temp/
*.tmp

# Dependency directories
jspm_packages/
# Editors/IDEs
.idea/
.vscode/
*.swp
*.swo
*.sublime-project
*.sublime-workspace
.project
.classpath
.settings/

# Production build
/build
# OS files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Misc
.cache
.parcel-cache
package-lock.json
jspm_packages/
*~
39 changes: 23 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
# Contributing to Device Activity Tracker

Thanks for your interest in this PoC!

## How to contribute
1. Fork and clone the repo
2. Create a branch: `git checkout -b feature/my-change`
3. Install deps: `npm install` (and `cd client && npm install && cd ..`)
4. Make your changes
5. Open a pull request with a short description and motivation

## Guidelines
- Keep PRs small and focused
- Prefer TypeScript and follow existing style
- Don’t commit auth/session data or secrets
- Respect the ethical / legal notes in the README (research & education only)
# Contributing to Device Activity Tracker

Thanks for your interest in this PoC!

## How to contribute
1. Fork and clone the repo
2. Create a branch: `git checkout -b feature/my-change`
3. Install deps: `npm install` (and `cd client && npm install && cd ..`)
4. Make your changes
5. Open a pull request with a short description and motivation

## Guidelines

## Quick fixes for common TypeScript/compile errors

If you encounter TypeScript compilation errors when contributing, follow these quick steps to get a clean local environment:

- Install Node type definitions: `npm install --save-dev @types/node`
- Install any missing runtime dependencies listed in `package.json` with `npm install`.
- Run the TypeScript compiler to surface errors: `npx tsc --noEmit`.
- See `docs/KNOWN_ERRORS.md` for a curated list of current compile errors and suggested fixes.

If an imported package doesn't ship types, add a `declare module 'package-name';` fallback or contribute type declarations upstream.
Loading