Learn Flutter development through a complete, production-ready plant shopping app!
Epoch Flora is a comprehensive plant e-commerce application that demonstrates advanced Flutter development concepts. This project teaches:
- Local Database Management with Hive
- State Management with setState pattern
- Cross-platform Development (Mobile + Web)
- Offline-first Architecture for complete local functionality
- Advanced UI/UX with animations and gradients
- Dual User Interfaces (Customer + Admin)
- Real-time Order Tracking with status management
Perfect for developers learning Flutter through a real-world, feature-complete application.
- User Authentication - Secure registration/login with password hashing
- Product Catalog - Browse plants by categories with search functionality
- Shopping Cart - Add/remove items with quantity management and delivery calculations
- Order Management - Place orders with real-time tracking and status updates
- Address Book - Manage multiple addresses for delivery
- Favorites System - Save favorite plants for quick access
- Profile Management - Update profile with image upload capability
- Admin Authentication - Separate secure admin login
- Product Management - Full CRUD operations for plant inventory
- Category Management - Create and manage product categories
- Order Processing - Update order status and track deliveries
- User Management - View and manage customer accounts
- Inventory Control - Complete administrative oversight
- Framework: Flutter 3.4.1+ (Cross-platform mobile/web)
- Database: Hive (Local NoSQL database)
- State Management: setState pattern
- Authentication: Custom with SHA-256 password hashing
- Storage: SharedPreferences for session management
- UI Components: Material Design with custom animations
- Fonts: Google Fonts (Poppins, Inter, Playfair Display)
- Animations: Lottie animations for enhanced UX
- Image Handling: Image picker with local storage
- Architecture: Offline-first with local data persistence
- Flutter SDK 3.4.1 or higher
- Dart SDK
- Android Studio / VS Code
- Git
- Clone the Repository
git clone https://github.com/yourusername/epoch-flora.git
cd epoch-flora- Install Dependencies
flutter pub get- Generate Hive Adapters
flutter packages pub run build_runner build- Run the Application
# For mobile development
flutter run
# For web development
flutter run -d chrome- Build for Production
# Android APK
flutter build apk --release
# Web build
flutter build web
# iOS (requires macOS)
flutter build ios --release-
Getting Started
- Launch the app and tap "Get Started" on the splash screen
- Register a new account or login with existing credentials
-
Shopping Experience
- Browse plants by categories on the home screen
- Use the search function to find specific plants
- Tap on any plant to view detailed information
- Add plants to cart with desired quantity
-
Checkout Process
- Review items in your cart
- Add or select a delivery address
- Choose payment method (Cash on Delivery)
- Place your order and receive confirmation
-
Order Tracking
- View order status in "My Orders" section
- Track delivery progress with real-time updates
- View detailed order information and history
-
Admin Access
- From login screen, tap "Admin Login"
- Login with admin credentials (username: arjun, password: arjun24)
-
Product Management
- Add new plants with images, descriptions, and pricing
- Create and manage product categories
- Edit existing products or remove discontinued items
-
Order Processing
- View all customer orders in the order list
- Update order status (Confirmed โ Shipped โ Delivered)
- Access detailed customer and shipping information
main.dart- App initialization, Firebase setup, and navigationpubspec.yaml- Dependencies, assets, and project configuration
user_database.dart- Complete database operations and business logicuser_database.g.dart- Auto-generated Hive type adapters
login.dart- User login with animated UIregister-page.dart- User registration with validationprivacypage.dart- Privacy policy and terms
home.dart- Main dashboard with product categoriesproduct_detail_page.dart- Individual product informationcart_page.dart- Shopping cart managementcheckout/order flow- Address selection, order confirmation, successprofile_page.dart- User profile and account managementorders/tracking- Order history and real-time tracking
admin_home.dart- Administrative dashboardproduct management- Add, edit, delete products and categoriesorder management- Process and track customer ordersuser_list_page.dart- Customer account oversight
Start Here:
main.dart- Understand app initialization and routinguser_database.dart- Learn Hive database operationshome.dart- Study state management with Providercart_page.dart- Complex UI with calculationsorder_tracker_page.dart- Advanced animations and tracking
- Local database design with Hive
- CRUD operations implementation
- setState pattern for state management
- Data validation and error handling
- Material Design implementation
- Custom animations and transitions
- Responsive layouts for multiple screen sizes
- Advanced Flutter widgets and compositions
- User registration and login systems
- Password hashing with SHA-256
- Session management
- Role-based access (User vs Admin)
- Shopping cart logic and calculations
- Order processing workflows
- Payment integration concepts
- Inventory management
Add screenshots of your app here showing:
- Splash screen and onboarding
- Home screen with product categories
- Product detail and cart pages
- Order tracking interface
- Admin panel dashboard
- Online Payments - Integrate payment gateways (Stripe, Razorpay)
- Push Notifications - Order updates and promotional messages
- Advanced Search - Filters by price, plant type, care level
- Social Features - Plant care tips, user reviews, community
- Analytics Dashboard - Sales reports and user behavior tracking
- Multi-language Support - Internationalization for global reach
- Backend Integration - Django/Node.js API for cloud sync
- Advanced Caching - Improved performance and offline support
- Unit Testing - Comprehensive test coverage
- CI/CD Pipeline - Automated testing and deployment
- Performance Optimization - Image compression and lazy loading
- Cloud Integration - Optional cloud backup and sync features
This project is perfect for learning Flutter development. Feel free to:
- Fork the repository and experiment
- Add new features or improve existing ones
- Submit pull requests with enhancements
- Report bugs or suggest improvements
For questions about this learning project:
- Developer: Arjun Kurup
- Email: iamarjunkurup@gmail.com
- GitHub: [Your GitHub Profile]
This project is created for educational purposes. Feel free to use it for learning Flutter development.
"Rooted in every seedling, lies the promise of a greener tomorrow" - Epoch Flora