Theru Fleet Ad Network System Development
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.
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
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.
Related categories:
PHP
Mobile App Development
Android
MySQL
Web Development
Database Management
API Development
Cloudflare