Coder Social home page Coder Social logo

shopmate-app's Introduction

shopmate

ShopMate is a user-friendly app designed to simplify the grocery shopping experience by ensuring that users never miss an item from their shopping list. With ShopMate, users can effortlessly create and manage their grocery lists, making it easier to remember what they need to buy when they visit the store. The app provides a convenient platform where users can add items to their list by simply clicking item's picture.

The goal of the application

The application starts with the "Home" screen, which serves as the central hub for users to manage their grocery shopping experience. From the home screen, users can access of the saved lists and button to create new list (๐Ÿ–Š๏ธ). To begin creating a new list, users can navigate to the "Grocery List" screen by clicking (๐Ÿ–Š๏ธ) button. Here, they can choose items from a comprehensive list of grocery products. As users select items, a temporary list of the chosen items dynamically appears at the bottom of the screen, allowing users to review their selections before proceeding. Once users have finalized their grocery list, they can proceed to the "Selected List" screen by clicking (>) button. In this view, all the chosen items are displayed, providing users with a clear overview of their selections. To remove an item from the selected list, users can swipe it to the left, offering a convenient deletion option. Upon satisfaction with the selected items, users can save the list by clicking the check icon button(โœ”๏ธ). The saved list is then stored in the application's database for future reference. Returning to the home screen, users can see all their created lists, making it easy to access and manage multiple lists. By clicking (โš™๏ธ) button, user able to go to the settings and change the app language. By clicking app theme button, user can switch from dark mode to light mode. By selecting one of the created lists from the home screen, users are directed to the corresponding "Check List" screen. This screen presents all the added items, providing users with a comprehensive checklist to refer to while shopping. Users can mark off items as they are placed in their cart, ensuring they don't overlook anything during the shopping trip.

How to compile and run the application

Before compiling a Flutter app in Android Studio, it is necessary to set up the Flutter plugin. The Flutter plugin provides the necessary tools and functionality to develop and run Flutter applications within Android Studio. Please refer below links for more info:

How to run tests for the application

The test files for the Flutter application are typically stored in the test/ directory within the project structure. By navigating to this directory in Android Studio, you can access the various test files containing unit tests for different components of your application. Clicking on a specific unit test file allows you to verify and validate the functionality of that particular component, ensuring its correctness and expected behavior.

overall architecture of the application

In the ShopMate application, the architecture incorporates different types of files to organize the codebase effectively.

  • Model files: Model files represent the data structures.

  • Screens files: Screen files correspond to the different screens or UI views in the application.

  • Service files: Service files handle the communication and interaction with external and internal data sources, such as database and asset files.

  • Utils files: Utils files contain utility functions that provide common functionality and reusable code snippets.

  • Widget files: Widget files contain custom UI widgets and reusable widgets.

  • Routes file: Route file contains routes of the app.

  • l10n file: l10n file represent the language files for the app.

Other notes

I downloaded the app logo for ShopMate from the Flaticon website. The logo can be found at the following URL flaticon

Furthermore, I downloaded grocery images for the application from the website FreePNGImg

google_fonts: ^4.0.4: The google_fonts package version 4.0.4 was utilized to add a unique app name.

http: ^1.1.0: The http package version 1.1.0 was used to establish communication with the Firebase Realtime Database.

provider: ^6.0.5: The provider package version 6.0.5 was used to implement a ChangeNotifier in the app. In this package, the selected items list was made globally accessible.

intl: ^0.18.1: The intl package version 0.18.1 was used to format date and time.

flutter_launcher_icons: ^0.13.1: The flutter_launcher_icons package version 0.13.1 was utilized to generate launcher icons for ShopMate App.

flutter_localizations: package that provides localization and internationalization support for Flutter applications.

mockito: ^5.4.2: package used for create mock objects for testing.

shopmate-app's People

Contributors

isuru18113 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.