mega-application

byAnkur

Build a complete production-ready Flutter application named “KaamSetu” for India. APP PURPOSE: KaamSetu connects Customers with Workers for local services like electricians, plumbers, painters, carpenters, cleaners, mechanics, delivery workers, etc. TECH STACK: * Flutter latest stable * Firebase Authentication * Firebase Firestore * Firebase Storage * Google Sign-In * OTP Authentication * Clean UI * Material Design 3 * Responsive design ROLES: 1. Customer 2. Worker 3. Admin APP FLOW: 1. Splash Screen 2. Home Screen with 3 cards: * Customer * Worker * Admin 3. Each role has separate login screen. CUSTOMER FEATURES: * Login with OTP * Login with Google * Customer Dashboard * Search workers by category * View worker profiles * Book workers * Booking history * Profile page * Settings page WORKER FEATURES: * Worker registration * Worker login * Worker dashboard * Add skills/services * Upload profile image * Availability status * Accept/reject bookings * Booking history * Earnings section ADMIN FEATURES: * Admin login * View all customers * View all workers * Approve/reject workers * Manage categories * Manage bookings FIREBASE: Use Firebase for: * Authentication * Firestore database * Storage * Real OTP authentication FOLDER STRUCTURE: lib/ ├── main.dart ├── screens/ ├── widgets/ ├── models/ ├── services/ ├── utils/ ├── firebase/ └── admin/ IMPORTANT: * Create all required screens. * Add proper navigation. * Add beautiful UI. * Use reusable widgets. * Add loading indicators. * Add validation. * Add comments in code. * Avoid deprecated Flutter code. * Use null safety. AUTHENTICATION: * Implement real Firebase OTP verification. * Implement Google Sign-In correctly. * Store user data in Firestore after login. UI STYLE: * Orange and white theme * Modern Indian startup style * Rounded cards * Gradient buttons * Professional look EXTRA: * Add dummy worker categories. * Add sample booking cards. * Add profile editing. * Add logout functionality. OUTPUT: Generate complete Flutter code screen by screen with imports and proper file names.

HomeAdminLoginBookingRequestsCategories
Home

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

KaamSetu

Introduction

The "KaamSetu" project is a comprehensive Flutter application designed to connect customers with local service providers in India. It facilitates seamless interactions between customers and workers for various services such as electricians, plumbers, painters, carpenters, cleaners, mechanics, and delivery workers. The application aims to provide a user-friendly platform with robust features and a modern design aesthetic.

System Overview

KaamSetu is built using Flutter, leveraging Firebase for authentication, database management, and storage. The application supports three primary user roles: Customer, Worker, and Admin, each with distinct functionalities. The app is designed with a responsive and clean UI, adhering to Material Design 3 principles, and is optimized for mobile devices.

Page 2 of 4

Functional Requirements

  • As a Customer, I should be able to log in using OTP or Google.
  • As a Customer, I should be able to search for workers by category.
  • As a Customer, I should be able to view worker profiles and book workers.
  • As a Customer, I should be able to view my booking history and manage my profile.
  • As a Worker, I should be able to register and log in to the application.
  • As a Worker, I should be able to add skills/services and update my availability status.
  • As a Worker, I should be able to accept or reject bookings and view my earnings.
  • As an Admin, I should be able to log in and manage customers and workers.
  • As an Admin, I should be able to approve or reject workers and manage service categories and bookings.

User Personas

  1. Customer: Individuals seeking local services.
  2. Worker: Service providers offering skills in various categories.
  3. Admin: Personnel managing the platform's operations and user activities.
Page 3 of 4

Visuals Colors and Theme

  • primary: #FF6F00 (a vibrant orange)
  • primary_light: #FFA040 (a lighter tint of orange)
  • secondary: #004D40 (a deep teal for contrast)
  • accent: #D32F2F (a bold red for CTAs)
  • highlight: #FFC107 (a warm amber for notifications)
  • bg: #FFFFFF (white for a clean background)
  • surface: rgba(255, 255, 255, 0.9) (light surface for cards)
  • text: #212121 (dark grey for primary text)
  • text_muted: #757575 (soft grey for secondary text)
  • border: rgba(0, 0, 0, 0.1) (subtle border color)

Signature Design Concept

The home page of KaamSetu will feature an interactive "Service Map" concept. Users will see a dynamic map of their locality with animated icons representing different service categories. As users hover over or click on these icons, they will expand to show available workers in that category, with smooth transitions and animations powered by framer-motion. This interactive map will provide a visually engaging and intuitive way for users to explore services in their area.

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, creating a layered depth effect as users scroll through the page. This will include decorative layers that move at different speeds, enhancing the storytelling aspect of the app. Internal pages, such as dashboards and settings, will adopt a "static" model for clarity and ease of use.

Page 4 of 4

Non-Functional Requirements

  • The application must be responsive and function seamlessly on various mobile devices.
  • Ensure high availability and reliability with Firebase backend services.
  • Maintain data security and user privacy, adhering to relevant regulations.

Tech Stack

  • Frontend: Flutter (latest stable version)
  • Backend: Firebase (Authentication, Firestore, Storage)
  • Authentication: Firebase OTP and Google Sign-In
  • UI Framework: Material Design 3

Assumptions and Constraints

  • The application will initially support English, with potential for future localization.
  • The admin functionalities will be mobile-first, with considerations for future web expansion.
  • The app will adhere to modern design principles, ensuring a professional and engaging user experience.

Glossary

  • OTP: One-Time Password
  • UI: User Interface
  • UX: User Experience
  • Firestore: A NoSQL cloud database to store and sync data for client- and server-side development.
  • Firebase: A platform developed by Google for creating mobile and web applications.
Home design preview
Splash: View Intro
Home: Select Role
AdminLogin: Sign In
AdminDashboard: View Stats
Workers: View All Workers
Workers: Approve Worker
Workers: Reject Worker
Customers: View All Customers
Categories: Manage Services
Categories: Add Category
Bookings: Manage Bookings
Bookings: View Details