Real-Time Workshop & Inventory for Motorbike workshop
Budget: $250 – $750 AUD
# Project Title: Full-Stack React Developer Needed – Real-Time Workshop & Inventory OS (Supabase + i18n)
## Project Overview
We are looking for an experienced Full-Stack React developer to build a **Workshop Operations & Inventory Management System**. The application core must feature real-time update capabilities, a multi-language UI supporting English and Tamil, and a completely decoupled state-management architecture using custom hooks.
The backend infrastructure is built on **Supabase** (PostgreSQL), utilizing automated database triggers and Row-Level Security (RLS) to manage roles.
---
## Technical Stack Requirements
* **Frontend:** React (Functional components, Context API, Hooks), Tailwind CSS
* **Backend/Database:** Supabase (PostgreSQL, Realtime replication channels, PL/pgSQL functions)
* **Internationalization:** `i18next` / `react-i18next` with local JSON translation sheets
* **Architecture Style:** Strict separation of concerns (UI layers completely decoupled from data-fetching and subscription hooks)
---
## Core Features & Scope of Work
### 1. Database Architecture & Automated Triggers
* Establish relational tables for `stores`, `inventory`, `job_cards`, and a many-to-many bridge table `job_items`.
* Implement a backend PL/pgSQL trigger function on `job_items` that automatically decrements stock levels inside the `inventory` table upon insertion and blocks the transaction if stock levels drop below zero.
### 2. Live Sync Dashboard via Custom Hooks
* Build a custom hook (`useWorkshopJobs`) that queries active job cards once on mount and opens a continuous Supabase Realtime WebSocket channel listener (`postgres_changes`).
* Intercept `INSERT`, `UPDATE`, and `DELETE` payloads to patch the local array state seamlessly without forcing global page re-fetches.
### 3. Decoupled Stocktake Module
* Build a custom hook (`useInventory`) handling isolated stock management actions.
* Implement inline-editable table row metrics for manual stocktake count updates with robust error/success call handling exposed to the presentation layer.
### 4. Custom Auth & Role-Based Layout Restrictions
* Leverage Supabase Auth mapped to a custom database `profiles` table to track system authorization attributes (`admin`, `manager`, `mechanic`).
* Abstract session monitoring entirely into an application-wide custom `useAuth` provider.
* Implement layout conditional routing to restrict access to the Inventory Control Panel exclusively to `admin` and `manager` roles.
### 5. Seamless Multi-Language Support (English / Tamil)
* Integrate localization dictionary JSON payloads supporting on-the-fly toggling.
* Ensure data values such as system workflow status tags dynamically map database string enums directly to the correct linguistic keys (`t('status.' + job.status)`).
---
## Deliverables Expected
1. Clean, documented React source code with a strictly organized modular folder structure (`/src/hooks`, `/src/components`, `/src/locales`).
2. An SQL initialization script file including all core tables, constraints, types, and trigger function dependencies.
3. A `.env.example` setup mapping layout keys (`REACT_APP_SUPABASE_URL`, etc.).
---
## How to Apply
Please reply with:
1. Examples of React applications you have built utilizing **Supabase Realtime subscriptions**.
2. A brief summary of how you approach writing custom React hooks to isolate state logic from UI presentation.
3. Your estimated timeline to deliver a functional MVP based on the details above.
## Project Overview
We are looking for an experienced Full-Stack React developer to build a **Workshop Operations & Inventory Management System**. The application core must feature real-time update capabilities, a multi-language UI supporting English and Tamil, and a completely decoupled state-management architecture using custom hooks.
The backend infrastructure is built on **Supabase** (PostgreSQL), utilizing automated database triggers and Row-Level Security (RLS) to manage roles.
---
## Technical Stack Requirements
* **Frontend:** React (Functional components, Context API, Hooks), Tailwind CSS
* **Backend/Database:** Supabase (PostgreSQL, Realtime replication channels, PL/pgSQL functions)
* **Internationalization:** `i18next` / `react-i18next` with local JSON translation sheets
* **Architecture Style:** Strict separation of concerns (UI layers completely decoupled from data-fetching and subscription hooks)
---
## Core Features & Scope of Work
### 1. Database Architecture & Automated Triggers
* Establish relational tables for `stores`, `inventory`, `job_cards`, and a many-to-many bridge table `job_items`.
* Implement a backend PL/pgSQL trigger function on `job_items` that automatically decrements stock levels inside the `inventory` table upon insertion and blocks the transaction if stock levels drop below zero.
### 2. Live Sync Dashboard via Custom Hooks
* Build a custom hook (`useWorkshopJobs`) that queries active job cards once on mount and opens a continuous Supabase Realtime WebSocket channel listener (`postgres_changes`).
* Intercept `INSERT`, `UPDATE`, and `DELETE` payloads to patch the local array state seamlessly without forcing global page re-fetches.
### 3. Decoupled Stocktake Module
* Build a custom hook (`useInventory`) handling isolated stock management actions.
* Implement inline-editable table row metrics for manual stocktake count updates with robust error/success call handling exposed to the presentation layer.
### 4. Custom Auth & Role-Based Layout Restrictions
* Leverage Supabase Auth mapped to a custom database `profiles` table to track system authorization attributes (`admin`, `manager`, `mechanic`).
* Abstract session monitoring entirely into an application-wide custom `useAuth` provider.
* Implement layout conditional routing to restrict access to the Inventory Control Panel exclusively to `admin` and `manager` roles.
### 5. Seamless Multi-Language Support (English / Tamil)
* Integrate localization dictionary JSON payloads supporting on-the-fly toggling.
* Ensure data values such as system workflow status tags dynamically map database string enums directly to the correct linguistic keys (`t('status.' + job.status)`).
---
## Deliverables Expected
1. Clean, documented React source code with a strictly organized modular folder structure (`/src/hooks`, `/src/components`, `/src/locales`).
2. An SQL initialization script file including all core tables, constraints, types, and trigger function dependencies.
3. A `.env.example` setup mapping layout keys (`REACT_APP_SUPABASE_URL`, etc.).
---
## How to Apply
Please reply with:
1. Examples of React applications you have built utilizing **Supabase Realtime subscriptions**.
2. A brief summary of how you approach writing custom React hooks to isolate state logic from UI presentation.
3. Your estimated timeline to deliver a functional MVP based on the details above.
Related categories:
JavaScript
Website Design
Mobile App Development
PostgreSQL
Git
React.js
Workshops
Typescript
Tailwind CSS