Total Tasks
0
Across all phases
Completed
0
Tasks finished
In Progress
0
Currently working
Overall Progress
0%
Project completion

Phase 1: Database & Backend API (Weeks 1-2)

0%
#1.1 MySQL Database Setup
Install MySQL 8.0, create database, configure user permissions, and test connection
Pending High Priority
#1.2 Create Database Schema
Design and implement all tables: users, machines, products, inventory, transactions, restock_logs, machine_errors, support_tickets
Pending High Priority
#1.3 Laravel Installation & Setup
Install Laravel 10.x, configure .env, set up folder structure, install Composer dependencies
Pending High Priority
#1.4 Create Eloquent Models
Build models for User, Machine, Product, Inventory, Transaction, RestockLog, MachineError, SupportTicket with relationships
Pending Medium
#1.5 Authentication System
Implement JWT-based authentication with login, logout, register endpoints. Role-based access control (admin, merchant)
Pending High Priority
#1.6 Machine API Endpoints
Create REST APIs: GET /machines, POST /machines, PUT /machines/:id, DELETE /machines/:id, POST /machines/:id/heartbeat
Pending High Priority
#1.7 Product API Endpoints
Create CRUD APIs for products: GET /products, POST /products, PUT /products/:id, DELETE /products/:id
Pending High Priority
#1.8 Transaction API Endpoints
Build transaction APIs: GET /transactions, POST /transactions, PUT /transactions/:id/status, GET /transactions/stats
Pending High Priority
#1.9 Inventory API Endpoints
Create inventory management APIs: GET /inventory, POST /inventory/restock, GET /inventory/alerts, PUT /inventory/:id/adjust
Pending Medium
#1.10 Merchant API Endpoints
Build merchant management APIs (admin only): GET /merchants, POST /merchants, PUT /merchants/:id
Pending Medium
#1.11 Seed Sample Data
Create database seeders with sample data: 2 admins, 3 merchants, 10 machines, 30 products, inventory records
Pending Medium
#1.12 API Testing with Postman
Test all endpoints with Postman, create collection, verify authentication, CRUD operations, and error handling
Pending Medium

Phase 2: Admin Dashboard (Weeks 3-4)

0%
#2.1 Setup Tailwind CSS
Install and configure Tailwind CSS with npm, create input.css, setup build process
Pending High Priority
#2.2 Admin Login Page
Create login page with email/password fields, form validation, API integration, remember me, error handling
Pending High Priority
#2.3 Admin Dashboard Layout
Build sidebar navigation, header with user menu, main content area, responsive design with Tailwind
Pending High Priority
#2.4 Dashboard Overview Page
Create stats cards (revenue, transactions, machines), revenue chart with Chart.js, recent transactions table, low stock alerts
Pending High Priority
#2.5 Machine List Page
Display all machines in table/grid, filters (status, merchant), search, pagination, status indicators (online/offline/error)
Pending High Priority
#2.6 Machine Detail Page
Show machine info, current inventory levels with visual indicators, transaction history, error logs, edit/delete actions
Pending Medium
#2.7 Add/Edit Machine Page
Form for machine details (serial, name, location, merchant), validation, assign to merchant dropdown, save to API
Pending Medium
#2.8 Product List Page
Display all products with images, name, price, category, active status. Add, edit, delete, activate/deactivate actions
Pending High Priority
#2.9 Add/Edit Product Page
Form with name, description, price, category, image upload, validation, save to API
Pending Medium
#2.10 Inventory Management Page
View inventory across all machines, filter by machine, product, low stock alerts, bulk actions, manual stock adjustment
Pending Medium
#2.11 Restock Page
Form to log restock activity: select machine, products, quantities, notes, submit to API, view restock history
Pending Medium
#2.12 Merchant List Page
Display all merchants, machines count, revenue, status (active/suspended), search, add/edit/delete actions
Pending High Priority
#2.13 Merchant Detail Page
View merchant profile, machines owned, revenue stats, transaction history, support tickets, edit profile
Pending Medium
#2.14 Add/Edit Merchant Page
Form with name, email, phone, address, password (for new), validation, save to API
Pending Medium
#2.15 Transaction List Page
Table with all transactions, filters (date, machine, status), search, pagination, export to CSV button
Pending High Priority
#2.16 Analytics/Reports Page
Revenue charts (daily, weekly, monthly), top products, top machines, sales by merchant, date range selector
Pending Medium

Phase 3: Merchant Portal (Weeks 5-6)

0%
#3.1 Merchant Login Page
Login page similar to admin but with merchant branding, authentication, redirect to merchant dashboard
Pending High Priority
#3.2 Merchant Dashboard Layout
Top navigation, main content area, simpler than admin, responsive design with Tailwind
Pending High Priority
#3.3 Merchant Dashboard Page
My revenue stats, today's sales, machines count, low stock alerts, revenue trend chart for last 30 days
Pending High Priority
#3.4 My Machines Page
List my machines only, status, location, inventory summary, click to view details
Pending High Priority
#3.5 My Machine Detail Page
Machine info, current inventory with visual bars, today's transactions, revenue for this machine
Pending Medium
#3.6 My Inventory Page
View stock levels for all my machines, filter by machine/product, low stock indicators, request restock button
Pending Medium
#3.7 My Transactions Page
List my transactions only, filters (date, machine, status), search, export to CSV
Pending Medium
#3.8 Support Tickets Page
List my support tickets, status (open, in progress, resolved), create new ticket button
Pending Medium
#3.9 Create Support Ticket Page
Form with subject, message, priority, select machine (optional), submit to API
Pending Medium
#3.10 Profile Settings Page
Edit merchant profile (name, email, phone, address), change password, view subscription plan (if applicable)
Pending Medium

Phase 4: Machine Interface (Weeks 7-8)

0%
#4.1 Machine Interface Setup
Setup Tailwind for machine interface, configure for touchscreen (large fonts, touch targets), kiosk mode CSS
Pending High Priority
#4.2 Home/Welcome Screen
Full-screen welcome with OREL branding, "Tap to Start" button, current time/date, machine location name
Pending High Priority
#4.3 Product Catalog Screen
Grid layout (4-6 columns), product cards with image, name, price, "Out of Stock" badge, touch to select
Pending High Priority
#4.4 Quantity Selector Modal
Popup when product selected, show quantity selector (1-5), running total, "Add to Cart" button
Pending High Priority
#4.5 Cart/Checkout Screen
Show selected items with quantities, total amount, "Add More" button, "Proceed to Payment" button
Pending High Priority
#4.6 Payment QR Screen
Generate QR code for payment, display amount, "Scan with OREL Tap App", 2-minute timer, cancel button
Pending High Priority
#4.7 Payment Status Checking
Poll backend API every 2s to check payment status, show loading spinner, handle success/failure
Pending High Priority
#4.8 Dispensing Screen
Show "Dispensing your items..." message, call hardware API to dispense, show slot numbers, progress animation
Pending High Priority
#4.9 Receipt Screen
Digital receipt with items, prices, total, transaction ID, date/time, "Thank You" message, auto-return to home in 10s
Pending Medium
#4.10 Error Screens
Create error screens: Machine Offline, Item Stuck, Payment Timeout, Out of Stock, with support contact info
Pending Medium
#4.11 Python Hardware Control Scripts
Write Python scripts for: dispenser motor control (GPIO), thermal printer (ESC/POS), sensor inputs, test on Raspberry Pi
Pending High Priority
#4.12 Flask Hardware API
Create Flask API running on Pi: POST /dispense, POST /print-receipt, GET /status, integrate with Python scripts
Pending High Priority
#4.13 Machine Interface - Backend Integration
Connect machine UI to backend APIs: fetch products, create transactions, check payment status, update inventory
Pending Medium
#4.14 Kiosk Mode Setup on Raspberry Pi
Configure Chromium in kiosk mode, auto-start on boot, disable screensaver, touchscreen calibration
Pending Medium

Phase 5: Integration & Testing (Weeks 9-10)

0%
#5.1 OREL Tap Payment API Integration
Integrate with OREL Tap payment system: generate QR codes, check payment status, handle webhooks
Pending High Priority
#5.2 End-to-End Transaction Testing
Test complete flow: select product → payment → dispense → receipt, verify inventory updates, transaction logs
Pending High Priority
#5.3 Admin Portal Testing
Test all admin features: machine CRUD, merchant CRUD, product CRUD, inventory management, reports, role permissions
Pending High Priority
#5.4 Merchant Portal Testing
Test merchant features: view machines, inventory, transactions, support tickets, profile, verify data isolation
Pending High Priority
#5.5 Machine Hardware Testing
Test dispenser motors, thermal printer, touchscreen input, network connectivity, error handling on actual hardware
Pending Medium
#5.6 Security Testing
Test authentication, authorization, SQL injection prevention, XSS prevention, CSRF tokens, password hashing
Pending Medium
#5.7 Performance Testing
Test with multiple concurrent users, stress test APIs, optimize database queries, verify page load times
Pending Medium
#5.8 Bug Fixes & Refinements
Fix all critical and high-priority bugs found during testing, UI/UX refinements, error message improvements
Pending Medium
#5.9 Documentation
Write API documentation, database schema docs, deployment guide, user manuals for admin and merchant portals
Pending Medium
#5.10 Production Deployment
Setup production server (Apache, PHP, MySQL), deploy backend, admin, merchant portals, configure SSL, backups
Pending High Priority
#5.11 Raspberry Pi Deployment Setup
Create deployment image for Raspberry Pi, automated configuration script, test on multiple Pi units
Pending High Priority
#5.12 User Acceptance Testing (UAT)
Conduct UAT with stakeholders, collect feedback, demonstrate all features, create punch list for final fixes
Pending Medium