scenic-frontend

byKing Kom

Build a professional mobile-first frontend UI for a web application called **LocalKart – Hyperlocal Village Marketplace** using **HTML, CSS, and Vanilla JavaScript** with a modular structure so it can later be converted into React. ## Pages Required Create the following pages: * index.html (Landing Page) * shopListing.html (All Shops) * productListing.html (Shop Products) * cart.html (Cart) * orders.html (Orders) * shopDashboard.html (Shop Owner Dashboard) * deliveryDashboard.html (Delivery Dashboard) * adminDashboard.html (Admin Dashboard) * login.html * register.html * profile.html * wishlist.html ## UI Requirements * Mobile First Design * Professional Dashboard Layout * Sidebar Navigation for Dashboards * Sticky Navbar * Product Cards UI * Shop Cards UI * Cart UI like Blinkit * Order Timeline UI * Status Badges (Placed, Accepted, Preparing, Ready, Picked, Delivered) * Modal Popup for Product Details * Toast Notification System * Search Bar with Suggestions * Category Scroll Bar * Village Selector Modal * Multi-step Checkout UI ## Animations (Lightweight Only) Use **GSAP** for lightweight animations: Add animations on: * Page load fade-in * Product cards hover animation * Shop cards hover animation * Sliding sidebar animation * Add to cart animation * Order success animation * Category scroll slider animation * Image hover zoom animation Animation should be fast and lightweight, not heavy. ## Frontend Structure ```id="fe1" frontend/ │ ├── pages/ ├── css/ ├── js/ │ ├── api/ │ ├── core/ │ ├── modules/ │ └── dashboard/ ├── assets/ └── components/ ``` ## Frontend Modules (JS) Create modular JavaScript files: * auth.js * shops.js * products.js * cart.js * orders.js * wishlist.js * profile.js * village.js * notification.js * payment.js * analytics.js * map.js * admin.js * shopOwner.js * delivery.js ## Frontend Features Customer: * Select Village * Browse Shops * View Products * Search * Filter by Category * Add to Cart * Wishlist * Place Order * Track Order * Reviews * Notifications * Profile * Addresses Shop Owner: * Add Product * Upload Image * Manage Stock * Orders * Assign Delivery * Analytics Delivery: * Available Orders * Active Delivery * Delivery History Admin: * Approve Shops * Manage Users * Orders * Analytics Use fetch API to connect backend APIs. Build a backend for **LocalKart – Hyperlocal Village Marketplace** using **Node.js, Express.js, MongoDB**. Use **MVC architecture**. ## Backend Features Authentication: * JWT Login * Register * Role based access * Forgot Password * Middleware authentication User Roles: * customer * shop * delivery * admin ## API Modules Create REST APIs for: ### Auth APIs * POST /api/auth/register * POST /api/auth/login * POST /api/auth/forgot-password ### User APIs * GET /api/users/profile * PUT /api/users/profile * GET /api/users/orders * GET /api/users/wishlist ### Shop APIs * POST /api/shops/register * GET /api/shops * GET /api/shops/:id * PUT /api/shops/status * PUT /api/shops/location * GET /api/shops/pending * PUT /api/shops/approve ### Product APIs * POST /api/products * PUT /api/products/:id * DELETE /api/products/:id * GET /api/products/shop/:shopId * GET /api/products/:id ### Cart APIs * POST /api/cart * GET /api/cart * DELETE /api/cart/:id ### Order APIs * POST /api/orders * GET /api/orders/customer * GET /api/orders/shop * GET /api/orders/delivery * PUT /api/orders/status * PUT /api/orders/assign-delivery ### Review APIs * POST /api/reviews * GET /api/reviews/:productId ### Notification APIs * GET /api/notifications * POST /api/notifications ### Analytics APIs * GET /api/analytics/admin * GET /api/analytics/shop ## Order Status Flow Order status must follow this sequence: placed → accepted → preparing → ready → picked_up → out_for_delivery → delivered → cancelled ## Additional Backend Features * Image upload using Cloudinary * Payment integration using Razorpay * Distance calculation using Haversine formula * Delivery ETA calculation * Notification system * Village based filtering Design MongoDB database schema for **LocalKart – Hyperlocal Village Marketplace**. ## Collections Required ### users * name * email * phone * password * role * village * address * profilePhoto * createdAt ### shops * shopName * ownerId * category * village * address * location (lat, lng) * shopImage * status (pending, approved, rejected) * shopStatus (open, closed, busy) ### products * productName * shopId * category * price * discount * stock * imageUrl * description ### cart * userId * items [productId, qty] ### orders * customerId * shopId * items * totalAmount * status * deliveryAddress * deliveryPersonId * paymentMethod * createdAt ### reviews * userId * productId * rating * comment ### wishlist * userId * productId ### notifications * userId * title * message * type * read * createdAt ### productRequests * userId * productName * village * status ### analytics * shopId * totalOrders * totalRevenue * topProducts ### payments * orderId * paymentId * amount * method * status ## Important Features * Use ObjectId relations * Use indexes for search * Use aggregation for analytics * Store location in latitude and longitude

LandingOrdersAdminDashboardDeliveryDashboardLoginProductListing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 7

System Requirements Document (SRD)

Project Name: scenic-frontend

1. Introduction

The scenic-frontend project focuses on building a professional, mobile-first frontend UI for the web application LocalKart – Hyperlocal Village Marketplace. This application aims to connect customers, shop owners, delivery agents, and administrators in a seamless hyperlocal marketplace experience. The frontend will be developed using HTML, CSS, and Vanilla JavaScript, with a modular structure to ensure scalability and ease of conversion to React in the future.

This document outlines the system requirements for the scenic-frontend project, including functional and non-functional requirements, user personas, visual themes, and technical specifications.

Page 2 of 7

2. System Overview

The LocalKart – Hyperlocal Village Marketplace is a web application designed to facilitate hyperlocal commerce in villages. It allows customers to browse and purchase products from local shops, shop owners to manage their inventory and orders, delivery agents to track and fulfill deliveries, and administrators to oversee the platform's operations.

The scenic-frontend project will deliver a mobile-first, modular, and visually appealing user interface that supports the following key features:

  • Role-based dashboards for customers, shop owners, delivery agents, and administrators.
  • Lightweight animations for an engaging user experience.
  • Modular JavaScript structure for scalability and future React integration.
  • Professional design with a focus on usability and performance.

The frontend will connect to backend APIs via the Fetch API, ensuring seamless data exchange and functionality.

3. Functional Requirements

Page 3 of 7

As a Customer:

  • I should be able to select my village.
  • I should be able to browse shops.
  • I should be able to view products.
  • I should be able to search for products.
  • I should be able to filter products by category.
  • I should be able to add products to my cart.
  • I should be able to add products to my wishlist.
  • I should be able to place orders.
  • I should be able to track my orders.
  • I should be able to leave reviews for products.
  • I should be able to receive notifications.
  • I should be able to manage my profile.
  • I should be able to manage my addresses.

As a Shop Owner:

  • I should be able to add products.
  • I should be able to upload product images.
  • I should be able to manage stock.
  • I should be able to view and manage orders.
  • I should be able to assign deliveries.
  • I should be able to view analytics for my shop.

As a Delivery Agent:

  • I should be able to view available orders.
  • I should be able to manage active deliveries.
  • I should be able to view my delivery history.
Page 4 of 7

As an Admin:

  • I should be able to approve shops.
  • I should be able to manage users.
  • I should be able to view and manage orders.
  • I should be able to view platform-wide analytics.

4. User Personas

4.1 Customer

  • Description: End-users who browse shops, purchase products, and track orders.
  • Goals: Convenience, variety, and reliable delivery.
  • Key Features: Village selection, product search, cart management, and order tracking.

4.2 Shop Owner

  • Description: Local shopkeepers who sell products on the platform.
  • Goals: Efficient inventory management, increased sales, and customer satisfaction.
  • Key Features: Product management, order handling, and analytics.

4.3 Delivery Agent

  • Description: Personnel responsible for delivering orders to customers.
  • Goals: Timely delivery and efficient route management.
  • Key Features: Order tracking and delivery history.
Page 5 of 7

4.4 Admin

  • Description: Platform administrators who oversee operations.
  • Goals: Platform growth, user satisfaction, and operational efficiency.
  • Key Features: User management, shop approvals, and analytics.

5. Visuals Colors and Theme

Color Palette

The visual theme for LocalKart will reflect the vibrant and earthy tones of rural India, emphasizing trust, warmth, and simplicity.

  • Background: #F9F5E7 (Soft Beige)
  • Surface: #FFFFFF (Pure White)
  • Text: #333333 (Charcoal Black)
  • Accent: #FF6F3C (Bright Orange)
  • Muted Tones: #A5A58D (Olive Gray)

6. Signature Design Concept

Interactive Village Map Landing Page

The homepage will feature an interactive map of villages, designed to look like a hand-drawn illustration. Users can hover over villages to see a pop-up with the number of shops available in that area. Clicking on a village will zoom into the map, transitioning smoothly to the shop listing page.

Page 6 of 7

Key Features:

  • Hover Animation: Villages glow softly when hovered over.
  • Zoom Transition: Smooth zoom effect when a village is selected.
  • Dynamic Data: Real-time shop count displayed for each village.
  • Illustrative Design: Hand-drawn aesthetic with subtle animations to evoke a sense of community and warmth.

This unique design will make the platform instantly memorable and engaging for users.

7. Non-Functional Requirements

  • Performance: Pages should load within 2 seconds on a 3G connection.
  • Scalability: Modular structure to support future React integration.
  • Accessibility: WCAG 2.1 compliance for accessibility.
  • Responsiveness: Fully responsive design for mobile, tablet, and desktop.
  • Security: Secure handling of user data and API communications.

8. Tech Stack

Frontend

  • HTML, CSS, Vanilla JavaScript
  • GSAP for animations

Backend (for API integration)

  • Node.js
  • Express.js
Page 7 of 7

Database

  • MongoDB

Tools

  • Fetch API for backend communication

9. Assumptions and Constraints

  • The backend APIs will be ready and functional during frontend development.
  • The project will follow a mobile-first design approach.
  • The frontend will be developed with scalability in mind for future React integration.
  • Lightweight animations will be used to ensure performance on low-end devices.

10. Glossary

  • Mobile-First Design: A design approach that prioritizes mobile devices during development.
  • GSAP: GreenSock Animation Platform, a JavaScript library for animations.
  • Fetch API: A browser API for making HTTP requests.
  • WCAG: Web Content Accessibility Guidelines.

This document provides a comprehensive foundation for the scenic-frontend project. Let me know if you'd like to refine or expand any section further!

Landing design preview
Login: Sign In
AdminDashboard: View Analytics
AdminDashboard: Approve Shops
AdminDashboard: Manage Users
AdminDashboard: Manage Orders