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
Sign in to leave a comment
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!