Skip to content

ph0en1x29/FT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

705 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FieldPro

Status Client Last Updated

Field Service Management Platform for equipment service operations.

GHBanner

📚 Documentation

Document Description
User Guide How to use FieldPro — roles, workflows, features
Changelog Latest release notes and version history
Documentation Index Full docs navigation

For Developers

Document Description
Workflow Specification Technical spec for ACWER implementation
Changelog Decision log & implementation status
Development Process Guidelines for making changes

✨ Features

Core Platform

  • Role-based permissions (Admin, Supervisor, Technician, Accountant)
  • Job lifecycle management with full audit trails
  • Auto-generated job numbers (JOB-YYYYMMDD-XXXX) with DB trigger
  • Customer signature capture + deferred acknowledgement
  • Before-condition photo capture on job start (mandatory step before checklist)
  • 48-item tri-state condition checklist (OK / Not OK / blank)
  • Invoice, Service Report & Quotation PDF generation
  • Fleet (forklift) management + hourmeter tracking
  • Forklift form redesign — Customer Forklift No, Site field, Brand dropdown (Toyota, Nichiyu, etc.)
  • Service reset modal — Post-bulk-rent hourmeter updates for batch service tracking
  • Helper Technician system + multi-day job support
  • Real-time notification system with sound alerts
  • Light/Dark theme (auto system preference)

Inventory Management

  • Dual-unit inventory — Parts tracked in discrete units AND liquid/bulk (L, kg, m)
  • Liquid inventory service — Liquid-aware stock deduction in job flow
  • Bulk parts import — CSV/JSON upload with upsert by part code
  • ACWER CSV self-import — In-app CSV import with ACWER format auto-detection, batch upserts, audit trail
  • Purchase history — Batch tracking with invoice viewer and signed URLs (1-hour expiry)
  • Batch receive stock — Search-based item selection with invoice upload to private Supabase bucket
  • Inventory movement logging — Full audit trail for all stock changes
  • Audit trail — Immutable movements, stocktake workflow, adjustments with approval
  • Low stock alerts — Threshold-based alerts on admin dashboard
  • Van Stock — Per-technician van inventory with history tab and decimal quantity input

Mobile & PWA

  • 📱 Full Mobile Responsive — All pages optimized; 44px minimum tap targets
  • 📲 PWA — Installable as standalone app; offline caching (service worker)
  • 🧭 Role-Aware Bottom Navigation — Tabs and badge counts by role
  • ⚡ FAB — Role-specific quick actions in one tap
  • ⌨️ Command PaletteCmd+K global search and navigation
  • ↕️ Pull-to-Refresh + 👆 Swipe Actions on key lists

Search & Testing

  • 🔍 Semantic Search — pgvector (Supabase gte-small, 384d) on jobs and customers
  • 🧪 E2E Test Suite — Playwright critical-path tests (login, job create, job complete, parts approval)
  • ⚙️ CI/CD — GitHub Actions build + smoke test pipeline

v1.1 — January 2026

  • Helper Technician System, In-Job Request System, Multi-Day Jobs
  • KPI Dashboard, Enhanced Escalation, Van Stock System
  • AutoCount accounting export, Push Notifications
  • Bundle optimization (1.5MB → 290KB initial load)
  • Comprehensive RLS security hardening

🚀 Releases

v1.4.0 — March 4, 2026

Inventory overhaul (ACWER CSV import, purchase history, batch receive), forklift form redesign, before-photo job start, 53 RLS policies hardened — View details →

v1.3 — February 26, 2026

Job numbers, liquid inventory, bulk parts import, checklist tri-state, semantic search, E2E tests, mobile UX overhaul — View details →

v1.2 — February 17, 2026

Full mobile + PWA overhaul, command palette, role-aware navigation, FAB, dark mode — View details →

v1.1 — January 2026

ACWER Industrial workflow implementation — View details →

v1.0 — December 2025

Initial release with full FSM capabilities


🛠️ Getting Started

Prerequisites

  • Node.js 18+ (20 recommended)
  • npm 9+
  • Supabase project (supabase.com)

Installation

git clone https://github.com/ph0en1x29/FT.git
cd FT
npm install
cp .env.example .env.local   # Edit with your Supabase credentials
npm run dev                   # http://localhost:5173

Scripts

Command Description
npm run dev Start dev server (Vite HMR)
npm run build Production build + PWA service worker
npm run preview Preview production build locally
npm run typecheck TypeScript type checking
npm run lint ESLint + TypeScript checks
npm test Run Playwright E2E tests
npm run test:ui Playwright interactive UI mode

Test Accounts

See User Guide → Test Accounts


🛠️ Tech Stack

Layer Technology
Frontend React 18 + TypeScript
Build Vite 6
Styling Tailwind CSS
Database Supabase (PostgreSQL + RLS + Realtime)
Auth Supabase Auth (email/password)
Storage Supabase Storage (invoices, job photos)
Search pgvector (gte-small 384d embeddings)
PWA Workbox (vite-plugin-pwa)
Testing Playwright E2E
CI/CD GitHub Actions → Vercel auto-deploy
Charts Recharts
Icons Lucide React
Error Tracking Sentry

Deployment

  • Hosting: Vercel — auto-deploys from main branch
  • Live URL: ft-kappa.vercel.app
  • Database: Supabase (managed PostgreSQL)
  • CI: GitHub Actions runs build + smoke tests on every push/PR

🤝 Contributing

Before making changes, please read:

  1. Development Process — Golden rules and checklists
  2. Changelog — Current status and decisions

Key Principle

Before starting any changes or implementing new things, be sure to have a thorough discussion and confirm the client needs. Recheck before making new changes so things can run more smoothly.


📁 Project Structure

FT/
├── src/
│   ├── components/       # Shared UI components
│   ├── contexts/         # React contexts (auth, theme, notifications)
│   ├── hooks/            # Custom hooks
│   ├── pages/            # Page components (route-based)
│   │   ├── Dashboard/
│   │   ├── JobDetail/
│   │   ├── ForkliftsTabs/
│   │   ├── ForkliftProfile/
│   │   ├── Inventory/
│   │   └── ...
│   ├── services/         # Supabase service layer
│   ├── types/            # TypeScript type definitions
│   └── utils/            # Utility functions
├── docs/                 # Project documentation
├── tests/                # Playwright E2E tests
├── .github/workflows/    # CI pipeline
└── public/               # Static assets + PWA manifest

🔗 Links

Live ft-kappa.vercel.app
Repo github.com/ph0en1x29/FT
Docs docs/
Releases GitHub Releases

📄 License

Proprietary — All rights reserved. © 2025-2026 Athenix Technologies.

About

FieldPro — Field service management platform for equipment service operations. Built with React, TypeScript, Supabase.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors