techzone-phones

byMehul Jadhav

Build a modern Android app for my mobile phone shop called TechZone. App purpose TechZone sells both brand-new phones and second-hand/used phones. The main purpose of the app is to allow customers to check, in real time, which phones are currently available in the shop. The app should have two separate areas: 1. Customer Area — accessible to everyone without a login. 2. Admin Area — protected by a password and accessible only to the shop owner/staff. --- 1. Customer Home Screen Create a clean, modern home screen with: - TechZone logo/name at the top - Shop name: TECHZONE - Subtitle such as: "Phones Available Now" - Search bar - Filter buttons: - All - Brand New - Second Hand - Brand filters such as: - Apple - Samsung - OnePlus - Xiaomi - Vivo - Oppo - Realme - Motorola - Other Display available phones as attractive cards. Each phone card should show: - Phone image - Brand - Model name - Storage - RAM - Condition: Brand New or Second Hand - Price - Availability status - Optional battery health percentage for second-hand iPhones - Optional warranty information - "View Details" button Only phones that are currently marked as Available should appear in the customer inventory. --- 2. Phone Details Screen When a customer taps a phone, show a detailed page containing: - Large phone image/gallery - Brand - Model - Storage - RAM - Color - Condition - Price - Battery health (if applicable) - Warranty - Description - Date/time when the item was added - Availability status Add a prominent button: "Contact TechZone" This can open WhatsApp or the phone dialer so the customer can contact the shop. Make the WhatsApp/phone number configurable from the Admin Area rather than hard-coded. --- 3. Real-Time Inventory The inventory should be stored in a proper database/cloud backend. When the shop owner adds, edits, or deletes a phone from the Admin Area, the customer-facing inventory should update automatically. For example: If there are 10 phones available and the shop sells one: - Admin marks that phone as Sold/Unavailable - It should immediately disappear from the customer's available inventory. Do not require customers to manually refresh the app if the backend supports real-time updates. --- 4. Admin Area Create a separate Admin Login screen. Customers should NOT be able to access the inventory management functions. Admin login should require: - Username/email - Password The admin section must be protected using proper authentication and authorization. Do NOT store the admin password as plain text inside the Android application. Use secure authentication and store credentials securely. --- 5. Admin Dashboard After logging in, show an admin dashboard with: - Total phones - Brand-new phones - Second-hand phones - Available phones - Sold/unavailable phones Include buttons for: - Add Phone - Edit Phone - Delete Phone - Mark as Sold - Mark as Available - Manage Categories - Shop Settings - Logout --- 6. Add Phone Create an easy form for adding a phone. Fields: - Brand - Model - Storage - RAM - Color - Condition: - Brand New - Second Hand - Price - Original price (optional) - Battery health (optional) - Warranty - Description - Phone images - Availability: - Available - Sold - Reserved The admin should be able to upload one or multiple photos. Validate required fields before allowing the phone to be added. --- 7. Edit Phone The admin should be able to select an existing phone and edit any of its information. For example: - Change price - Change images - Change storage/RAM information - Change condition - Change warranty - Change availability - Change description Changes should immediately update the customer-facing inventory. --- 8. Delete Phone The admin should have a Delete option. Before deleting a phone, show a confirmation dialog: "Are you sure you want to delete this phone?" with: - Cancel - Delete Consider using soft deletion in the database so accidentally deleted inventory can potentially be recovered. --- 9. Search and Filters Customers should be able to quickly find phones. Search should work by: - Brand - Model - Storage - Price Allow sorting by: - Price: Low to High - Price: High to Low - Newest Added - Brand Add a price range filter. --- 10. Shop Settings Admin should be able to configure: - Shop name - Shop logo - Shop address - Phone number - WhatsApp number - Opening hours - Instagram/social media links - Shop description These settings should appear in the customer-facing app. --- 11. TechZone Design Use a professional mobile-shop design. Branding: TECHZONE Style: - Modern - Clean - Premium - Easy to navigate - Suitable for a phone retail store Use attractive phone product cards and large product images. The UI should work well on both small and large Android phones. Include both light and dark mode if practical. --- 12. Inventory Status Use clear status labels: 🟢 Available 🟡 Reserved 🔴 Sold Only Available products should be shown in the main customer inventory by default. --- 13. Database Structure Create a proper backend database. A phone/inventory record should contain something similar to: - id - brand - model - storage - ram - color - condition - price - originalPrice - batteryHealth - warranty - description - images - status - createdAt - updatedAt Also create a shop settings record. Use real-time database synchronization if supported by the chosen backend. --- 14. Security Security is important. Implement: - Secure admin authentication - Password hashing/authentication handled by the backend - Admin-only database permissions - Customer read-only access to available inventory - Admin-only create/update/delete permissions - Secure image storage - Session management - Logout functionality Do not rely only on hiding the Admin button from customers. The backend must enforce the permissions. --- 15. Recommended Technology Build this as a native Android application using: - Kotlin - Jetpack Compose - Material 3 - MVVM architecture - Repository pattern - A cloud backend such as Firebase Use: - Firebase Authentication for admin login - Cloud Firestore for inventory - Firebase Storage for phone images If you choose a different backend, maintain the same security and real-time requirements. --- 16. Customer Experience The customer should be able to open the app and immediately see: "Phones Available at TechZone" They should not need to create an account just to browse phones. The flow should be: Open App → Browse Phones → Search/Filter → View Phone → Contact TechZone Admin flow: Admin Login → Dashboard → Add/Edit/Delete/Update Inventory --- 17. Important Requirement The inventory must represent the current stock in the physical TechZone shop. When a phone is sold, the shop owner should be able to mark it as Sold/Unavailable from the Admin Area, and customers should no longer see it as available. Make the application scalable so more phones, brands, categories, and features can be added later. --- Deliverables Build the complete Android application, including: 1. Customer UI 2. Admin UI 3. Authentication 4. Database 5. Image upload 6. Inventory management 7. Search and filters 8. Real-time inventory updates 9. Secure admin permissions 10. Shop settings 11. Proper error handling 12. Loading states 13. Empty inventory states 14. Responsive Android UI 15. Production-ready project structure Also provide clear instructions for: - Setting up the backend - Creating the first admin account - Configuring TechZone's phone/WhatsApp number - Adding the first phone - Building the APK - Publishing the app to Google Play

No preview

Comments (0)

No comments yet. Be the first!

Project Tasks

19 planning tasks
Page design: Paused — add credits to continue
#1

Generate system requirement document

1m 15s0.2 cr used
Done
#2

Generate personas & user flows

0m 11s0.2 cr used
Done
#7

Create flow for Customer

0m 10sCredits in parent
Done
#8

Create flow for Shop Owner / Staff (Admin)

0m 10sCredits in parent
Done
#9

Customer Home Screen

0m 49sCredits in subtasks
Paused
#20

Customer Home Screen / Navigation

1.6 cr needed
Paused
#18

Customer Home Screen / Customer Home Hero

1.6 cr needed
Paused
#19

Customer Home Screen / Customer Home Inventory Feed

1.6 cr needed
Paused
#21

Customer Home Screen / Footer

1.6 cr needed
Paused
#10

Phone Details Screen

Credits in subtasks
Backlog
#11

Admin Dashboard

Credits in subtasks
Backlog
#12

Add Phone

Credits in subtasks
Backlog
#13

Edit Phone

Credits in subtasks
Backlog
#14

Delete Phone

Credits in subtasks
Backlog
#15

Manage Categories

Credits in subtasks
Backlog
#16

Shop Settings

Credits in subtasks
Backlog
#17

Admin Login screen

Credits in subtasks
Backlog
#5

Architecture

0.2 cr needed
Paused
#6

Workspace task plan

0.2 cr needed
Paused

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Customer Home Screen: 1. Open app and browse available
Customer Home Screen: 2. Search brand, model, storage, price
Customer Home Screen: 3. Select condition and brand filters
Customer Home Screen: 4. Set sort order and price range
Customer Home Screen: 5. Reset filters for no matches
Customer Home Screen: 6. View live status changes
Customer Home Screen: Retry after inventory read failure
Phone Details Screen: 7. View phone details
Phone Details Screen: 8. Swipe through image gallery
Phone Details Screen: 9. Retry after details load failure
Phone Details Screen: 10. Contact TechZone via WhatsApp or dialer
Phone Details Screen: 11. See updated status if sold or reserved
Customer Home Screen: 12. Continue browsing other phones

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Customer Home Screen: 1. Open app and browse available
Customer Home Screen: 2. Search brand, model, storage, price
Customer Home Screen: 3. Select condition and brand filters
Customer Home Screen: 4. Set sort order and price range
Customer Home Screen: 5. Reset filters for no matches
Customer Home Screen: 6. View live status changes
Customer Home Screen: Retry after inventory read failure
Phone Details Screen: 7. View phone details
Phone Details Screen: 8. Swipe through image gallery
Phone Details Screen: 9. Retry after details load failure
Phone Details Screen: 10. Contact TechZone via WhatsApp or dialer
Phone Details Screen: 11. See updated status if sold or reserved
Customer Home Screen: 12. Continue browsing other phones