neon-complete-shoppro

byDeveloper infibrain

I want you to build the complete Flutter App UI based on this Figma design: Figma URL: https://www.figma.com/design/LV18RGryceEr9DBjnYJQbL/Untitled?node-id=0-1&t=3BtYtPcSbIlARTcC-1 Your task is to inspect the complete Figma file and recreate the entire mobile application UI in Flutter as accurately as possible. ## Goal Create a production-quality Flutter UI that matches the Figma design closely. Do NOT implement only one screen. Inspect all frames/screens in Figma and implement the whole app, including: * Splash * Onboarding * Login/Signup * Home * Detail screens * Profile * Settings * Bottom navigation * Forms * Lists * Cards * Dialogs * Bottom sheets * Tabs * Empty/loading states * Other screens available in Figma Implement every visible Figma screen. ## Technical Requirements Use: * Latest stable Flutter * Dart null safety * Material 3 where suitable * Clean reusable widgets * Responsive UI * Proper navigation * Centralized colors * Centralized typography * Centralized spacing * Organized assets * Clean feature-based architecture Avoid unnecessary third-party packages. If Flutter SDK can handle something, do not add an external dependency. ## First Analyze Figma Before coding, inspect the complete Figma file. Identify: * All screens * Navigation flow * Reusable components * Colors * Fonts * Typography * Spacing * Padding/margins * Border radius * Shadows * Icons * Images * Buttons * Text fields * Cards * Lists * Tabs * Bottom navigation * Dialogs * Bottom sheets * Selected/unselected states First provide a short inventory of screens/components, then immediately start implementation. ## Architecture Use a clean folder structure similar to: lib/ main.dart app.dart core/ constants/ theme/ utils/ widgets/ features/ splash/ onboarding/ auth/ home/ profile/ settings/ Add/remove feature folders based on the actual Figma. Do not place the entire application in one Dart file. Extract reusable components. ## Theme Create centralized theme files such as: core/theme/app_colors.dart core/theme/app_text_styles.dart core/theme/app_theme.dart core/constants/app_spacing.dart core/constants/app_radius.dart core/constants/app_assets.dart Extract the actual Figma colors. Do not scatter hardcoded colors throughout the app. ## Typography Match Figma typography as accurately as possible: * Font family * Font size * Font weight * Line height * Letter spacing * Text colors Create reusable text styles. If the exact font is unavailable, use the closest suitable font and mention the substitution. ## Responsive UI The app must support different mobile screen sizes. Do NOT build the UI by hardcoding the complete Figma screen dimensions like: width: 375 height: 812 Prefer: * Expanded * Flexible * LayoutBuilder * MediaQuery when necessary * AspectRatio * FractionallySizedBox * Constraints * Proper padding Small fixed values are fine for icons, avatars, border radius, etc. The UI must avoid: * RenderFlex overflow * Text clipping * Horizontal overflow * Broken layouts on small devices Support common screen widths such as: 320, 360, 375, 390, 412, 430. ## Reusable Widgets Create reusable widgets for repeated components, for example: AppPrimaryButton AppSecondaryButton AppTextField AppSearchField AppCard AppIconButton AppSectionHeader AppBottomNavigation AppEmptyState AppLoadingPlaceholder Do not duplicate identical UI code across screens. ## Figma Accuracy Match Figma closely, including: * Alignment * Padding * Margins * Font sizes * Font weights * Colors * Backgrounds * Button heights * Field heights * Border radius * Borders * Shadows * Divider thickness * Icon size * Image aspect ratio * Card size * Bottom navigation Do NOT redesign or "improve" the Figma. Reproduce the design. ## Assets Organize assets properly: assets/ images/ icons/ illustrations/ Configure assets in pubspec.yaml. Use the original Figma assets whenever available. If an asset cannot be accessed, add a clear placeholder and TODO with the required asset name. Do not silently replace important artwork with unrelated icons. ## Navigation Implement the user flow shown in Figma. Connect screens through: * Buttons * Cards * Tabs * Bottom navigation * Back buttons * Other interactions Use Flutter Navigator unless another navigation solution is genuinely required. Do not add a heavy routing dependency unnecessarily. ## Forms For forms implement proper: * TextEditingController * Password visibility * Keyboard type * Focus behavior * Validation-ready structure * Prefix/suffix icons * Error UI where shown * Enabled/disabled states Backend/API integration is NOT required yet. ## Lists and Scrolling Use the correct Flutter widget: * ListView * ListView.separated * GridView * CustomScrollView * SliverList * SingleChildScrollView only where suitable Avoid unnecessary nested scroll views. Keep scrolling performant. ## Interactions Implement UI interactions shown or implied in Figma: * Navigation * Tab switching * Bottom navigation * Password show/hide * Checkbox * Radio buttons * Switches * Favorite/bookmark * Quantity buttons * Dropdowns * Dialogs * Bottom sheets * Expand/collapse Use realistic static/mock data where API data would normally appear. Structure mock data so APIs can easily replace it later. ## Loading UI If Figma contains loading/skeleton states, implement them. Avoid third-party shimmer packages unless absolutely necessary. Prefer a lightweight custom Flutter loading animation. Do not duplicate entire screens just to create skeleton loaders. ## Safe Area Handle: * Device notch * Status bar * Bottom gesture/navigation area Use SafeArea only where appropriate so it does not create incorrect Figma spacing. ## Code Quality Follow these rules: * Use const constructors when possible * Avoid giant build() methods * Extract meaningful widgets * Avoid duplicate code * Use descriptive names * Avoid unnecessary abstractions * Avoid excessive magic numbers * Keep code maintainable * Make sure all imports are correct * Make sure the project compiles ## Deliverables Actually create/update the Flutter files. Do not only explain or provide sample code. Implement all Figma screens screen-by-screen. For every screen: 1. Inspect Figma. 2. Build the Flutter screen. 3. Match the design. 4. Extract reusable widgets. 5. Connect navigation. 6. Continue to the next screen. Do not stop after creating a demo or first screen. ## Final Verification Before finishing, verify: * All Figma screens are implemented * No important UI is missing * Navigation works * Colors match * Fonts match * Spacing matches * Assets are configured * UI is responsive * No overflow errors * No duplicated UI code * No unnecessary dependencies * flutter analyze passes * Application compiles successfully Fix all errors and warnings caused by your implementation. You have permission to create, modify, move, delete, and refactor Flutter project files required for this task. Do not repeatedly ask for confirmation. If something in Figma is unclear, make the most reasonable design-matching assumption and continue. Start by inspecting the complete Figma file, list the screens/components briefly, and then build the entire Flutter UI.

LandingSign UpSplashDetailsOnboardingListsLoginSettings
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 8

System Requirements Document for neon-complete-shoppro

1. Introduction

The neon-complete-shoppro project aims to develop a production-quality Flutter mobile application UI that closely matches the provided Figma design. The application is intended for a modern, youthful audience, requiring a vibrant and engaging user interface. The primary goal is to accurately recreate all visible screens and components from the Figma design, ensuring a responsive and maintainable codebase.

2. System Overview

The system is a mobile application built using Flutter, designed to provide a seamless user experience across various screens and interactions as defined in the Figma design. The application will include features such as onboarding, authentication, home navigation, profile management, and settings, among others. The design emphasizes a playful maximalism style, with vibrant colors and engaging interactions.

2a. Product Interpretation and Delivery Boundary

  • Delivery and Access: The application will be delivered as a Flutter mobile app, with all screens and interactions implemented as per the Figma design. Access to the app begins with an anonymous landing page, followed by splash and onboarding screens. User identity is established through sign-up and login processes.
  • Current Boundaries: The current scope includes implementing all visible screens and interactions from the Figma design using Flutter. Backend/API integration is not required at this stage; mock/static data will be used.
  • Future Horizons: Future updates may include backend integration and additional features as needed.
Page 2 of 8

2b. Source Content Inventory

  • Screens: Splash, Onboarding, Login, Signup, Home, Details, Profile, Settings, List, Card, Bottom Navigation, Dialog, Bottom Sheet, Tabs, Empty State, Loading State.
  • Components: AppBar, AppPrimaryButton, AppSecondaryButton, AppTextField, AppSearchField, AppCard, AppListTile, BottomNavigation, Tabs, Dialog, BottomSheet.
  • Colors: Primary (#ff69b4), Accent (#ffa500), Background (#ffffff), Surface (#f6f8fa), TextPrimary (#222222), TextSecondary (#6b6b6b), Error (#E74C3C), Divider (#E0E0E0).
  • Typography: Headings in Archivo Black, Body in Nunito, with a modular scale of 1.25.
  • Assets: Original Figma assets to be used where available; placeholders for inaccessible assets.

2c. Page Content and Component Coverage

Landing

  • Components: Introduction to app, navigation to Splash.
  • Actions: Start app journey.

Splash

  • Components: App logo, auto-navigation to Onboarding.
  • Actions: Automatic transition after delay.

Onboarding

  • Components: Multi-step introduction, illustrations.
  • Actions: Progress through steps, navigate to Login/Signup.

Sign Up

  • Components: Form fields for user details, password visibility toggle.
  • Actions: Submit form, navigate to Home.
Page 3 of 8

Login

  • Components: Email and password fields, forgot password link.
  • Actions: Authenticate user, navigate to Home.

Home

  • Components: AppBar with search, cards, tabs.
  • Actions: Navigate to Details, Lists, Profile, Settings.

Lists

  • Components: List of items, pull-to-refresh.
  • Actions: View item details.

Details

  • Components: Item details, favorite toggle.
  • Actions: Navigate back to Home or Lists.

Forms

  • Components: Various form fields, validation messages.
  • Actions: Submit form data.

Profile

  • Components: User information, edit fields.
  • Actions: Update profile details.
Page 4 of 8

Settings

  • Components: Toggles for preferences, logout button.
  • Actions: Adjust settings, log out.

3. Functional Requirements

  • As an App user, I should be able to view the splash screen and automatically transition to onboarding. (explicit)
  • As an App user, I should be able to progress through onboarding steps and reach the login/signup screen. (explicit)
  • As an App user, I should be able to sign up with my details and access the home screen. (explicit)
  • As an App user, I should be able to log in with my credentials to access the home screen. (explicit)
  • As an App user, I should be able to navigate through home, lists, details, profile, and settings screens. (explicit)
  • As an App user, I should be able to edit my profile information. (explicit)
  • As an App user, I should be able to adjust my settings and log out. (explicit)
  • As an App user, I should be able to view and interact with dialogs and bottom sheets. (explicit)
  • As an App user, I should experience responsive layouts across different screen sizes. (explicit)

4. User Personas

  • App user: The primary user of the application who navigates through onboarding, authentication, and various app features such as home, details, profile, and settings.

5. Core User Flows

Page 5 of 8

Onboarding Flow

  1. Landing: User opens the app and views the landing page.
  2. Splash: User sees the splash screen, which transitions to onboarding.
  3. Onboarding: User progresses through onboarding steps.
  4. Sign Up/Login: User chooses to sign up or log in.

Main Navigation Flow

  1. Home: User accesses the home screen after authentication.
  2. Lists/Details: User navigates to lists and details from home.
  3. Profile/Settings: User accesses profile and settings from home.

Profile Management Flow

  1. Profile: User views and edits profile information.
  2. Settings: User adjusts settings and logs out if desired.
Page 6 of 8

6. Visuals Colors and Theme

  • Muse: Jessica Walsh
  • Palette:
    • Background: #ffffff
    • Surface: #f6f8fa
    • Text: #222222
    • Primary: #ff69b4
    • Accent: #ffa500
    • Muted: #6b6b6b
  • Typography:
    • Headings: Archivo Black
    • Body: Nunito
    • Scale: 1.25 modular
  • Shape Language: Bold color fields, overlapping shapes.
  • Layout: Asymmetric grids, bold hierarchy.

7. Signature Design Concept

The landing page will feature a bold hero section with a hot pink background and oversized type in Archivo Black, immediately capturing user attention. Playful hover interactions with color flips and bouncy animations will enhance user engagement.

Page 7 of 8

8. Interaction Model & Motion Direction

  • Interaction Model: Animated
  • Motion Tempo: Expressive
  • Hero Dimensionality: Layered_2d
  • Landing Hero Motion Brief: The landing hero will feature a bold color field with oversized type, transitioning into the splash screen with a bouncy scale-in animation.

9. Non-Functional Requirements

  • Performance: The app should maintain smooth animations and transitions without lag.
  • Responsiveness: The UI must adapt to various screen sizes without layout issues.
  • Maintainability: Code should be organized in a feature-based architecture with reusable components.

10. Tech Stack

  • Frontend: Flutter (latest stable), Dart with null safety
  • UI Framework: Material 3
  • Architecture: Feature-based with centralized theming and reusable widgets

11. Assumptions and Constraints

  • Assumption: Users will have internet access to download the app and initial assets.
  • Constraint: The design must match the Figma file exactly, without redesigning elements.
Page 8 of 8

12. Glossary

  • Figma: A design tool used for creating the application's UI mockups.
  • Flutter: An open-source UI software development kit used to build the application.
  • Dart: The programming language used in Flutter development.
  • Material 3: The latest design system by Google, used for UI components in Flutter.
Landing design preview
Landing: Start app journey
Splash: View splash screen
Onboarding: Progress through steps
Sign Up: Submit signup form
Login: Authenticate user
Home: Browse home screen
Lists: View list items
Details: View item details
Forms: Submit form data
Profile: Edit profile info
Settings: Adjust settings
Settings: Log out
Landing design preview
Landing: Start app journey
Splash: View splash screen
Onboarding: Progress through steps
Sign Up: Submit signup form
Login: Authenticate user
Home: Browse home screen
Lists: View list items
Details: View item details
Forms: Submit form data
Profile: Edit profile info
Settings: Adjust settings
Settings: Log out