Theru Fleet Ad Network System Development

Job ID: 40237316

Budget: ₹600 – ₹1,500 INR

Project Name:

Theru Fleet Ad Network System

core Philosophy

This is NOT a self-serve SaaS.

Advertisers cannot modify campaigns themselves.

Only Super Admin controls:

Ad uploads

Campaign changes

Pricing

Device assignments

Driver management

Customer panel is analytics-only.

SYSTEM COMPONENTS

We need:

Android Kiosk Launcher App

Super Admin Web Dashboard (Full Control)

Customer Web Dashboard (Read-Only Analytics)

Backend API

Supabase Database

Cloudflare R2 for media storage

Automatic GitHub repository sync

ANDROID TABLET APP (KIOSK MODE)
Must:

• Act as default launcher
• Auto start on boot
• Disable system UI
• Disable status bar
• Disable navigation
• Ignore touch input
• Work fully offline

Network Logic:

On boot:

If SIM available:

Enable mobile data

Verify connectivity

If no SIM:

Enable WiFi

Auto connect to saved networks

If none saved → hidden admin setup

Retry every 30 seconds if no connection.

Ad Logic:

• Download ads once per day (3 AM)
• Store locally
• Loop continuously
• Delete expired campaigns
• Log impressions locally
• Send batched JSON logs every 5 minutes

GPS:

• Capture location every 60 seconds
• Attach reg number + device ID
• Store offline if no network
• Sync when internet returns

SUPER ADMIN DASHBOARD (FULL CONTROL PANEL)

This must be powerful and enterprise-grade.

Must Include:
Device Management

List of all devices

Vehicle Registration Number

Assigned driver

Online/Offline status

Battery %

Network type

Last seen

Live GPS Map View

Force Sync Button

Disable Device Button

Driver Management

Add/Edit/Delete driver

Assign driver to vehicle

Track driver performance

See driver uptime hours

See driver device health

Campaign Control

Upload ad (MP4)

Assign to vehicles

Set start & end date

Set priority

Set max daily impressions

Edit campaign anytime

Pause campaign

Delete campaign

Client Management

Add client

Edit client

Suspend client

Assign campaigns to client

See client analytics summary

Export reports (CSV/PDF)

Analytics Dashboard

Total impressions

Per vehicle impressions

Per campaign impressions

Heatmap by area

Active devices count

Revenue estimation

CUSTOMER DASHBOARD (STRICTLY READ-ONLY)

Customers CANNOT:

Upload ads
Edit campaigns
Delete campaigns
Change pricing
Modify vehicles

Customers CAN:

View campaign performance
View impressions
View active vehicles
See live tracking of vehicles running their ads
See vehicle registration numbers
Download performance report

DATABASE STRUCTURE (SUPABASE)

Tables Required:

Devices

id

serial_number

vehicle_reg_number

driver_id

status

battery

network

lat

lng

last_seen

Drivers

id

name

phone

assigned_vehicle

status

Clients

id

company_name

email

status

Campaigns

id

client_id

start_date

end_date

priority

daily_limit

status

Ads

id

campaign_id

file_url

checksum

duration

Logs

id

device_id

ad_id

timestamp

lat

lng

impressions_batch

GITHUB INTEGRATION

Requirements:

• Auto create GitHub repository
• Push backend code automatically
• Push frontend code automatically
• Push Android app code automatically
• Commit after every major update
• Maintain clean branch structure

Owner must retain full source code ownership.

HOSTING STRATEGY

• Supabase Free Tier (Database + Auth)
• Cloudflare R2 (Ad storage)
• Frontend hosted on Vercel Free Tier
• Backend hosted on Render / Railway Free Tier
• No heavy server load (edge logic on device)

SCALE REQUIREMENT

Must support:

• 500 devices initially
• Scale to 1000 devices
• Devices sync once per day
• Devices send lightweight JSON only
• No streaming

SECURITY

• Each device has unique API key
• Signed URLs for ad download
• Auth-protected admin panel
• Role-based access control

FINAL SYSTEM GOAL

When ignition turns on:

Tablet boots → connects to internet → downloads if needed → plays ads offline → logs impressions → syncs lightweight data → no driver interaction required.