Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Lynel App - Indonesian Batik E-Commerce

A modern Flutter-based e-commerce application showcasing authentic Indonesian batik products. Built with Firebase backend integration, this app provides a seamless shopping experience for traditional batik clothing and accessories.

๐ŸŽฏ Overview

Lynel App is a comprehensive mobile e-commerce platform dedicated to promoting Indonesian cultural heritage through traditional batik products. The application features a beautiful Nusantara-inspired design with earth-tone colors and provides users with an intuitive shopping experience for authentic batik items.

โœจ Features

๐Ÿ›๏ธ E-Commerce Core

  • Product Catalog: Browse extensive collection of batik products
  • Product Details: Detailed product information with high-quality images
  • Shopping Cart: Add, remove, and manage items with quantity controls
  • Checkout Process: Streamlined purchase flow with payment confirmation
  • Category Filtering: Filter products by type, origin, and pattern

๐Ÿ” User Authentication

  • Firebase Authentication: Secure user registration and login
  • Profile Management: User account management and preferences
  • Session Management: Persistent login sessions

๐Ÿ‘จโ€๐Ÿ’ผ Admin Panel

  • Product Management: Add, edit, and remove products
  • Inventory Control: Manage stock levels and product availability
  • Order Management: Track and manage customer orders

๐ŸŽจ Design & UX

  • Nusantara Theme: Traditional Indonesian color palette
  • Responsive Design: Optimized for various screen sizes
  • Material Design: Modern UI following Material Design principles
  • Custom Typography: Google Fonts integration for enhanced readability

๐Ÿ”ง Technical Features

  • Firebase Integration: Real-time database and cloud storage
  • Image Optimization: Smart image URL handling and caching
  • State Management: Efficient app state management
  • Cross-Platform: iOS and Android compatibility

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Flutter: ^3.8.1 - Cross-platform mobile development framework
  • Dart: Programming language for Flutter development

Backend & Services

  • Firebase Core: ^3.15.2 - Firebase SDK initialization
  • Firebase Auth: ^5.7.0 - User authentication
  • Cloud Firestore: ^5.6.12 - NoSQL database
  • Firebase Storage: ^12.4.10 - File storage and management

UI/UX

  • Google Fonts: ^6.1.0 - Typography enhancement
  • Cupertino Icons: ^1.0.8 - iOS-style icons
  • Material Design: Built-in Flutter design system

Utilities

  • HTTP: ^1.1.0 - Network requests
  • Shared Preferences: ^2.2.2 - Local data persistence

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK (^3.8.1)
  • Dart SDK
  • Android Studio / VS Code
  • Firebase project setup
  • Android/iOS development environment

Installation

  1. Clone the repository

    git clone https://github.com/Pfftz/watra_nusa.git
    cd watra_nusa
  2. Install dependencies

    flutter pub get
  3. Firebase Setup

    • Create a new Firebase project at Firebase Console
    • Enable Authentication, Firestore, and Storage
    • Download google-services.json for Android and place in android/app/
    • Download GoogleService-Info.plist for iOS and place in ios/Runner/
    • Configure Firebase options in lib/firebase_options.dart
  4. Run the application

    flutter run

Firebase Configuration

The app requires the following Firebase services:

  • Authentication: Email/password authentication
  • Firestore Database: Product and user data storage
  • Firebase Storage: Product image storage

Ensure your Firebase security rules are properly configured for production use.

๐Ÿ“ฑ App Structure

lib/
โ”œโ”€โ”€ main.dart                 # App entry point
โ”œโ”€โ”€ firebase_options.dart     # Firebase configuration
โ”œโ”€โ”€ pages/                    # Application screens
โ”‚   โ”œโ”€โ”€ home_page.dart       # Main product showcase
โ”‚   โ”œโ”€โ”€ login_page.dart      # User authentication
โ”‚   โ”œโ”€โ”€ register_page.dart   # User registration
โ”‚   โ”œโ”€โ”€ product_list_page.dart # Product catalog
โ”‚   โ”œโ”€โ”€ detail_produk_page.dart # Product details
โ”‚   โ”œโ”€โ”€ cart_page.dart       # Shopping cart
โ”‚   โ”œโ”€โ”€ checkout_page.dart   # Checkout process
โ”‚   โ”œโ”€โ”€ konfirmasi_pembayaran_page.dart # Payment confirmation
โ”‚   โ”œโ”€โ”€ admin_panel_page.dart # Admin dashboard
โ”‚   โ”œโ”€โ”€ image_debug_page.dart # Image testing utility
โ”‚   โ””โ”€โ”€ theme.dart           # App theme configuration
โ”œโ”€โ”€ services/                # Business logic
โ”‚   โ”œโ”€โ”€ auth_service.dart    # Authentication service
โ”‚   โ”œโ”€โ”€ product_service.dart # Product management
โ”‚   โ”œโ”€โ”€ cart_service.dart    # Shopping cart logic
โ”‚   โ””โ”€โ”€ database_seeder.dart # Initial data population
โ”œโ”€โ”€ utils/                   # Utility functions
โ”‚   โ””โ”€โ”€ image_url_helper.dart # Image URL processing
โ””โ”€โ”€ widgets/                 # Reusable components
    โ””โ”€โ”€ cart_icon.dart       # Shopping cart icon widget

๐ŸŽจ Design System

The app follows a Nusantara-inspired design with the following color palette:

  • Primary: Earth Brown (#8B4513) - Traditional earth tones
  • Secondary: Golden Amber (#D4A574) - Warm accents
  • Background: Nusantara Beige (#FDF7F0) - Soft, warm background
  • Surface: Warm Cream (#FAF0E6) - Card and surface colors
  • Accent: Batik Indigo (#2E4A62) - Traditional batik blues

๐Ÿ”ง Configuration

Environment Setup

  1. Ensure Flutter is properly installed and configured
  2. Set up Firebase project with required services
  3. Configure platform-specific settings for Android and iOS

Firebase Rules

Configure Firestore security rules for proper data access control:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    // Products collection - read access for all, write for admin only
    match /products/{productId} {
      allow read: if true;
      allow write: if request.auth != null &&
        resource.data.adminEmail == request.auth.token.email;
    }

    // User data - authenticated users only
    match /users/{userId} {
      allow read, write: if request.auth != null &&
        request.auth.uid == userId;
    }
  }
}

๐Ÿš€ Deployment

Android

flutter build apk --release
# or for app bundle
flutter build appbundle --release

iOS

flutter build ios --release

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Indonesian batik artisans and cultural heritage
  • Flutter and Firebase teams for excellent development tools
  • Traditional Nusantara design inspiration
  • Open source community contributions

๐Ÿ“ž Support

For support and questions:

  • Create an issue in the GitHub repository
  • Contact: [Your Contact Information]

Lynel App - Preserving Indonesian Heritage Through Digital Innovation ๐Ÿ‡ฎ๐Ÿ‡ฉ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages