- Overview
- Project Architecture
- Features
- Technology Stack
- Prerequisites
- Installation & Setup
- Running the Application
- API Documentation
- Target Users
- Future Expansion
- Contributing
- License
- Developed By
SmartMart is a comprehensive smart shopping solution that revolutionizes the retail experience through barcode scanning, automated cart management, and seamless payment processing. The platform consists of three integrated components: a Flutter mobile application for customers, a React-based admin dashboard for store management, and a Flask backend API for data processing and business logic.
- Barcode Scanning: Quick product identification and addition to cart
- Real-time Cart Management: Synchronized cart across devices
- Secure Payment Processing: Integrated Stripe payment gateway
- Admin Dashboard: Comprehensive analytics and inventory management
- Discount Management: Dynamic pricing and promotional offers
- Order Tracking: Complete order lifecycle management
SmartMart/
โโโ ๐ฑ smartmart_mobile/ # Flutter Mobile Application
โ โโโ lib/
โ โ โโโ models/ # Data models (Product, Cart, Order, etc.)
โ โ โโโ screens/ # UI screens (Home, Cart, Profile, etc.)
โ โ โโโ services/ # API services and business logic
โ โ โโโ providers/ # State management (Cart, Auth)
โ โ โโโ widgets/ # Reusable UI components
โ โ โโโ utils/ # Utilities and constants
โ โโโ android/ # Android-specific configurations
โ โโโ ios/ # iOS-specific configurations
โ โโโ web/ # Web platform assets
โ
โโโ ๐ฅ๏ธ admin/ # React Admin Dashboard
โ โโโ src/
โ โ โโโ components/ # Reusable React components
โ โ โโโ pages/ # Dashboard pages (Products, Orders, etc.)
โ โ โโโ utils/ # Utility functions
โ โโโ public/ # Static assets
โ
โโโ โ๏ธ backend/ # Flask Backend API
โ โโโ admin.py # Admin-specific API endpoints
โ โโโ users.py # User and payment API endpoints
โ โโโ db.py # Database connection utilities
โ โโโ app.py # Flask application entry point
โ โโโ requirements.txt # Python dependencies
โ
โโโ ๐ Documentation/
โโโ SMARTMART_TEST_SUITES.md # Comprehensive test documentation
- User registration and login
- Secure session management
- Password change functionality
- User profile management
- Barcode Scanning: Quick product identification using device camera
- Smart Cart: Real-time cart synchronization across sessions
- Product Search: Find products by name or barcode
- Discount Integration: Automatic discount application
- Order History: Complete purchase history tracking
- Stripe Integration: Secure card and UPI payments
- Multiple Payment Methods: Card and UPI support
- Order Confirmation: Real-time order status updates
- Receipt Generation: Digital receipt management
- Real-time Metrics: Sales, orders, inventory, and customer analytics
- Visual Charts: Weekly sales trends and revenue analysis
- Performance Indicators: Success rates and transaction monitoring
- CRUD Operations: Add, edit, delete, and view products
- Barcode Management: Product identification system
- Inventory Tracking: Stock level monitoring
- Bulk Operations: Mass product updates
- Order Processing: View and manage customer orders
- Status Updates: Track order lifecycle
- Customer Information: Order details and customer data
- Filtering & Search: Advanced order filtering capabilities
- Dynamic Pricing: Create and manage discount campaigns
- Date-based Offers: Time-limited promotional pricing
- Product-specific Discounts: Targeted discount application
- Status Management: Enable/disable discount offers
- Transaction Monitoring: Real-time payment tracking
- Revenue Analysis: Monthly and weekly revenue trends
- Payment Method Analytics: Card vs UPI usage statistics
- Success Rate Tracking: Payment success/failure monitoring
- Flutter: Cross-platform mobile application development
- React: Modern web application framework
- TypeScript: Type-safe JavaScript development
- Tailwind CSS: Utility-first CSS framework
- Recharts: Data visualization library
- Flask: Lightweight Python web framework
- MongoDB: NoSQL database for flexible data storage
- PyMongo: MongoDB driver for Python
- Werkzeug: Password hashing and security utilities
- Stripe: Payment processing and gateway integration
- URL Launcher: External payment page integration
- WebView: In-app payment processing
- Vite: Fast build tool for React development
- ESLint: Code linting and quality assurance
- Flutter Launcher Icons: App icon generation
- Flutter Native Splash: Splash screen management
- Node.js: Version 18.0 or higher
- Python: Version 3.8 or higher
- Flutter: Version 3.8.1 or higher
- MongoDB: Version 5.0 or higher
- Git: Version control system
- IDE: VS Code, Android Studio, or Xcode
- Package Managers: npm/yarn, pip, pub
- Version Control: Git
- Stripe Account: For payment processing
- MongoDB Atlas: Cloud database (optional)
- ngrok: For local development tunneling (optional)
git clone https://github.com/yourusername/SmartMart.git
cd SmartMart# Navigate to backend directory
cd backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration# Navigate to admin directory
cd ../admin
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration# Navigate to mobile app directory
cd ../smartmart_mobile
# Install Flutter dependencies
flutter pub get
# Generate app icons and splash screens
flutter pub run flutter_launcher_icons:main
flutter pub run flutter_native_splash:createcd backend
python app.pyBackend runs on: http://localhost:5000
cd admin
npm run devAdmin Dashboard runs on: http://localhost:5173
cd smartmart_mobile
# For Android
flutter run
# For iOS
flutter run -d ios
# For Web
flutter run -d web# Terminal 1 - Backend
cd backend && python app.py
# Terminal 2 - Admin Dashboard
cd admin && npm run dev
# Terminal 3 - Mobile App
cd smartmart_mobile && flutter runPOST /users/signup- User registrationPOST /users/login- User authenticationPOST /users/change_password- Password change
GET /admin/product/get_products- Fetch all productsPOST /admin/product/add_product- Add new productPUT /admin/product/update_product- Update productDELETE /admin/product/delete_product- Delete product
POST /users/carts/get_products- Get cart itemsPOST /users/carts/add_product- Add to cartPOST /users/carts/delete_product- Remove from cart
POST /users/orders/place_order- Place new orderPOST /users/orders/get_orders- Get user ordersPOST /users/orders/get_order_details- Get order details
POST /users/create-payment-session- Create Stripe sessionPOST /users/payment-status- Check payment status
GET /admin/dashboard/weekly_sales- Weekly sales dataGET /admin/dashboard/user_count- User statisticsGET /admin/payments/summary- Payment analytics
- Tech-savvy shoppers seeking convenience
- Mobile-first users preferring app-based shopping
- Price-conscious consumers looking for discounts
- Busy professionals needing quick checkout
- Retail managers overseeing daily operations
- Inventory specialists managing product catalogs
- Business analysts tracking sales performance
- Customer service representatives handling orders
- Small to medium retailers seeking digital transformation
- Franchise operators managing multiple locations
- E-commerce businesses expanding to physical stores
- Mobile app developers learning Flutter
- Backend developers working with Flask and MongoDB
- Full-stack developers building integrated solutions
- Multi-store Support: Manage multiple retail locations
- Advanced Analytics: AI-powered sales predictions
- Inventory Alerts: Low stock notifications
- Customer Loyalty Program: Points and rewards system
- Web Application: Browser-based shopping experience
- API Marketplace: Third-party integrations
- Mobile POS: Point-of-sale terminal integration
- QR Code Payments: Alternative payment methods
- Multi-tenant Architecture: SaaS platform support
- Advanced Reporting: Custom report generation
- Integration APIs: ERP and CRM system connections
- White-label Solutions: Customizable branding
- Smart Recommendations: ML-based product suggestions
- Automated Reordering: AI inventory management
- Predictive Analytics: Demand forecasting
- Voice Commands: Hands-free shopping experience
We welcome contributions from the community! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style and conventions
- Write comprehensive tests for new features
- Update documentation for API changes
- Ensure all tests pass before submitting
- Use the issue tracker for bug reports
- Provide detailed reproduction steps
- Include system information and logs
- Use appropriate labels for categorization
This project is licensed under the MIT License - see the LICENSE file for details.
A T Abbilaash: 23n201@psgtech.ac.in
Nivashini N: 23n234@psgtech.ac.in
Swadhitha S P: 23n258@psgtech.ac.in
Niranjana Nayagi B: 23n233@psgtech.ac.in
Made with โค๏ธ by the SmartMart Development Team
ยฉ 2025 SmartMart. All rights reserved.