Skip to content
This repository has been archived by the owner on Apr 25, 2019. It is now read-only.
/ Veggie Public archive

Vegetable ordering app using MVP architecture

Notifications You must be signed in to change notification settings

rohitkaradkar/Veggie

Repository files navigation

Warning

I'm no longer maintaining this project. I haven't update Firebase project & backend so most of the things should not work as expected. Feel free to reach out to me for any help.

Veggie

It is a simple fruits and vegetable shopping app, built to support my friend's startup. It is also an experiment to make use of Model View Presenter architecture.

Features

  • Select products you want to purchase. You can search and sort them by category. Product volume can be managed while checkout.

  • You will be notified when your order is shipped and you can check your order history.

  • Yes, we provide shipping to Mars.

Structure

This application is built using Model View Presenter architecture which is divided in three modules. Code separation allows to reuse the code. Makes it easy to maintain and modify. It provides abstraction while creating Android views. I have listed all of the modules with their usage.

Android application module which acts as a View. It depends on core module which delivers all necessary data. This allows to focus on user interface and simplifies the code.

All common data models between app and core module are available here.

This module works as a Presenter. All application logic is provided here. I've described package name with their use.

  • presenter - Handles all application logic. Android activity / fragment uses associated presenter to handle data delivery, network operation, error cases and database operations.
  • remote - Handles remote connection with backend. Usually accessed by Presenter and Service classes.
  • service - Background services to download product and user information. These classes helps to cache user data in advance so they doesn't need to wait.
  • storage - ContentProvider implementation along with helper classes to access database easily.

Setup

  • Download project source and import in Android studio .
  • Create new project in Firebase console.
  • In Firebase console, add Android app with package name com.greentopli.app.user.
  • Download google-services.json file from Firebase console and add to app/src/user/ directory of project .

Reference

About

Vegetable ordering app using MVP architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages