Skip to content

Library E-Commerce App A Flutter app for shopping library products, featuring authentication, categories, and add-to-cart. Built with MVVM architecture and popular packages like flutter_bloc and dio. Developed as a graduation project with an Excellent grade.

Notifications You must be signed in to change notification settings

yousefkhalaf0/Distribution-Company

Repository files navigation

Library E-Commerce App

Flutter Dart MVVM Responsive

Welcome to the Library E-Commerce App, a Flutter-based mobile application designed to provide a seamless shopping experience for library-related products. This app was developed as part of my graduation project at the University of Computer Science, where I served as the lead developer alongside one contributor. Our team consisted of 7 members, including designers and backend developers, as the project also included a website.

The app achieved an Excellent grade, showcasing its robust architecture, user-friendly design, and extensive features.


Features

  • Splash Screen: A visually appealing introduction to the app.
  • Onboarding Screens: Guided tour for new users.
  • Authentication: Secure login and registration using OTP and social auth.
  • Categories: Browse products by category.
  • Add to Cart: Add and manage items in the shopping cart.
  • Seamless Browsing: Smooth and intuitive navigation.
  • Responsive Design: Optimized for various screen sizes.
  • User-Friendly UX/UI: Designed with a focus on usability and aesthetics.
  • Additional E-Commerce Features: Some features are designed but not fully implemented (e.g., checkout, wishlist).

Screenshots

Splash Screen Onboarding Authentication Categories
image image image image
Cart Product Details Profile
image image image

Technologies Used

Flutter Packages

The app leverages the following Flutter packages:

  • cupertino_icons: ^1.0.2
  • test: ^1.16.0 (for unit testing)
  • bloc_test: ^10.0.0 (for testing BLoCs)
  • flutter_launcher_icons: (for custom app icons)
  • shared_preferences: ^2.2.2 (for local storage)
  • bloc: ^9.0.0 (state management)
  • flutter_bloc: ^9.0.0 (BLoC integration with Flutter)
  • flutter_svg: ^2.0.10+1 (for SVG images)
  • dio: ^5.4.2+1 (for HTTP requests)
  • flutter_screenutil: ^5.9.0 (for responsive design)
  • auth_buttons: ^3.0.2 (for social auth buttons)
  • smooth_page_indicator: ^1.1.0 (for onboarding indicators)
  • country_code_picker: ^3.0.0 (for country code selection)
  • pin_code_fields: ^8.0.1 (for OTP input)
  • device_preview: ^1.1.0 (for testing responsive designs)

Architecture

  • MVVM (Model-View-ViewModel): Used for clean separation of concerns and maintainability.

Design

  • The app's design was created by one of our talented team members, ensuring a visually appealing and user-friendly interface.

Mobile app Team

  • Lead Developer: [Yousef Khalaf]
  • Contributor: [Yousef Ayman]

Installation

To run this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yousefkhalaf0/Distribution-Company.git
    cd Distribution-Company
  2. Install dependencies:

    flutter pub get
  3. Run the app:

    flutter run

Testing

To run unit tests:

flutter test

To run BLoC tests:

flutter test --test-randomize-ordering-seed=random

Contribution

This project was a collaborative effort, and I’m proud to have led the development of the mobile app. Special thanks to my team members for their contributions and support.


License

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


Thank you for checking out our Library E-Commerce App! 🚀

About

Library E-Commerce App A Flutter app for shopping library products, featuring authentication, categories, and add-to-cart. Built with MVVM architecture and popular packages like flutter_bloc and dio. Developed as a graduation project with an Excellent grade.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published