Note: This application was developed in Italian for educational purposes.
Visit Shelfly - Try the application now!
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.
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.
- πΊοΈ 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
- π 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
- 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)
- Node.js (v18 or higher)
- npm or yarn
- Ionic CLI:
npm install -g @ionic/cli - Angular CLI:
npm install -g @angular/cli
-
Clone the repository
git clone https://github.com/FrancescoDiPatti/SHELFLY.git cd SHELFLY -
Install dependencies
npm install
-
Configure environment
- Update
src/environments/environment.tswith your Firebase configuration - Configure API endpoints in
src/app/config/api.config.ts
- Update
-
Run the development server
ionic serve # or npm start -
Build for production
npm run build:prod
-
Run on mobile devices
# iOS ionic capacitor run ios # Android ionic capacitor run android
Interactive map showing nearby supermarkets with real-time location
Browse products by category with detailed information
Quickly add new products to your inventory
Customize product details and add them to your catalog
Manage your cart with real-time price calculations
Track and review your order history
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
- 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
Francesco Di Patti
- GitHub: @FrancescoDiPatti
