Skip to content

πŸ›’ Complete supermarket shopping platform with store locator, product catalog, cart management & smart inventory system. Integrates OpenFoodFacts for automatic product data. Live demo available!

Notifications You must be signed in to change notification settings

FrancescoDiPatti/SHELFLY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shelfly Logo

SHELFLY

Note: This application was developed in Italian for educational purposes.

🌐 Live Demo

Visit Shelfly - Try the application now!

πŸ“± About

Shelfly is a modern mobile application built with Ionic and Angular that revolutionizes the way customers shop at supermarkets. The app provides an intelligent platform for browsing products, discovering offers, managing shopping carts, and locating nearby stores.

Shelfly bridges the gap between customers and supermarkets by offering a comprehensive digital shopping experience with real-time product information, interactive maps, and personalized shopping features.

For Store Managers

Shelfly makes inventory management effortless! Store managers can add products to their catalog without worrying about:

  • πŸ“Έ No Image Upload Required: The application automatically fetches product images through OpenFoodFacts integration
  • πŸ”’ Barcode Optional: You can add products even without barcode information - the app handles it intelligently
  • πŸ“ Auto-Complete Product Data: Product descriptions, nutritional information, and details are automatically retrieved when available

This means faster product onboarding and less manual data entry, allowing managers to focus on what matters most: running their business.

✨ Features

For Customers

  • πŸ—ΊοΈ Interactive Store Locator: Find nearby supermarkets using geolocation with an interactive map powered by Leaflet
  • πŸ›’ Smart Shopping Cart: Add products to cart with real-time price calculations and quantity management
  • 🏷️ Offers & Promotions: Browse exclusive deals and special offers from your favorite supermarkets
  • πŸ” Advanced Search: Search for products, offers, and supermarkets with intelligent autocomplete and recent search history
  • πŸ“¦ Product Catalog: Explore detailed product information including prices, descriptions, and categories
  • πŸ“‹ Order History: Track and review your past orders
  • πŸ‘€ User Profile: Manage your account and preferences

For Store Managers

  • πŸ“Š Inventory Management: Add, edit, and manage product listings with ease
  • πŸ€– Smart Product Import: Automatic product data retrieval via OpenFoodFacts API - no need to manually enter images, descriptions, or barcodes
  • πŸ–ΌοΈ Automatic Image Fetching: Product images are automatically loaded from OpenFoodFacts database
  • 🏷️ Flexible Product Creation: Add products with or without barcodes - the system adapts to your needs
  • πŸͺ Store Dashboard: Monitor and control your supermarket's digital presence
  • πŸ’° Offer Management: Create and manage promotional campaigns
  • πŸ“ˆ Product Analytics: Track product performance and customer preferences

πŸ› οΈ Tech Stack

  • Framework: Ionic 8 + Angular 19
  • Mobile: Capacitor 7
  • Maps: Leaflet
  • Language: TypeScript
  • Styling: SCSS with Ionic Components
  • State Management: RxJS
  • Geolocation: Capacitor Geolocation Plugin
  • Backend: Firebase (authentication and data storage)

πŸ“‹ Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Ionic CLI: npm install -g @ionic/cli
  • Angular CLI: npm install -g @angular/cli

πŸš€ Getting Started

  1. Clone the repository

    git clone https://github.com/FrancescoDiPatti/SHELFLY.git
    cd SHELFLY
  2. Install dependencies

    npm install
  3. Configure environment

    • Update src/environments/environment.ts with your Firebase configuration
    • Configure API endpoints in src/app/config/api.config.ts
  4. Run the development server

    ionic serve
    # or
    npm start
  5. Build for production

    npm run build:prod
  6. Run on mobile devices

    # iOS
    ionic capacitor run ios
    
    # Android
    ionic capacitor run android

πŸ“± Screenshots

Dashboard & Store Locator

Dashboard

Interactive map showing nearby supermarkets with real-time location

Product Catalog

Products

Browse products by category with detailed information

Add Product

Add Product

Quickly add new products to your inventory

Create Product

Create Product

Customize product details and add them to your catalog

Shopping Cart

Shopping Cart

Manage your cart with real-time price calculations

Order Management

Orders

Track and review your order history

πŸ—οΈ Project Structure

SHELFLY/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ auth/              # Authentication module
β”‚   β”‚   β”œβ”€β”€ config/            # App configuration
β”‚   β”‚   β”œβ”€β”€ home/              # Main app features
β”‚   β”‚   β”‚   β”œβ”€β”€ carrello/      # Shopping cart
β”‚   β”‚   β”‚   β”œβ”€β”€ dashboard/     # Store locator & map
β”‚   β”‚   β”‚   β”œβ”€β”€ gestione/      # Store management
β”‚   β”‚   β”‚   β”œβ”€β”€ offerte/       # Offers & promotions
β”‚   β”‚   β”‚   β”œβ”€β”€ ordini/        # Order history
β”‚   β”‚   β”‚   └── prodotti/      # Product catalog
β”‚   β”‚   └── services/          # Shared services
β”‚   β”œβ”€β”€ assets/                # Images and static files
β”‚   β”œβ”€β”€ environments/          # Environment configs
β”‚   └── theme/                 # Global styles
β”œβ”€β”€ capacitor.config.ts        # Capacitor configuration
β”œβ”€β”€ ionic.config.json          # Ionic configuration
└── package.json               # Dependencies

🎯 Key Services

  • AuthService: Handles user authentication and authorization
  • HomeService: Manages app state and data flow
  • SearchService: Powers the intelligent search functionality
  • CarrelloService: Manages shopping cart operations
  • SupermercatiService: Handles supermarket data and selection
  • PosizioneService: Manages geolocation features
  • MapService: Controls the interactive map functionality

πŸ‘¨β€πŸ’» Author

Francesco Di Patti

Made with ❀️ for educational purposes

About

πŸ›’ Complete supermarket shopping platform with store locator, product catalog, cart management & smart inventory system. Integrates OpenFoodFacts for automatic product data. Live demo available!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published