Skip to content

YassinELhadedy/EcommerceProductApp

Repository files navigation

Open-Source Sample

Prerequisites for android studio:

  1. You must download and install Cucumber for java plugin.
  2. Also you must download and install Gherkin plugin.

Libraries & plugins

1- Recycler View.
2- Retrofit.
3- Cucumber (will added if u need to see complete sample please goto Ref link.
4- Dagger-Hilt.
5- Mockito Junit.
6- Esspresso UI Test (will added if u need to see complete sample please go to Ref link.
7- Robolectric unit test (Parameterized).
8- Corotuines & Kotlin Flow.\ 9- Parametrized unit test.
10-Live Data.
11-Room ORM DB (will added if u need to see complete sample please goto Ref link.
12-JetPack Paging(will added if u need to see complete sample please goto Ref link.
13-Navigation graph.
14-MVVM-Databinding.
15-CI/CD (Circle-CI & Fastlane) please pimg me to invite u to dashboard.
16-Publish on AppCenter and Google-Play.
17-TestCoverage (SonarQube) please pimg me to invite u to dashboard.
18-FireBaseTestLab.
19-Dynamic delivery (will added if u need to see complete sample please goto Ref link.

User Stories

The following required functionality is completed:

As a User(shopper), I want to be able to see all Products items shown.
As a User(shopper) I want to be able to view product item detail details.
As a User(shopper) I want to be able to search for specific product item and filter by specific category.(will be added soon).

To run the enviroment using Vagrant Up & linux (ubuntu)

1-Install vagrant using the terminal.
2-Install dongsupark/coreos-stable Vagrant box.
3-Customize the Vagrant file according to the available one for StreetGlide.
4-Run "vagrant up" command using provider libvirt.
5-Then run vagrant ssh to access the core-os.
6-After accessing core-os run command "update_engine_client -check_for_update"Setup link.

Tools and Technologies are Used :

1- Vagrant with Libvert Setup link.
2- Domain-Driven Design (DDD) Tutorial link Tutorial link .
3- Cucumber and Espresso Tutorial link .
4- TDD & BDD (unit test & intgration test & UI test). 5- CircleCI CI/CD. Tutorial link .
6- Kotlin with Corotuines &Flow.
7- Room ORM Android DB.
8- Mockito & Robolectric.
9- parmeterized unit test Tutorial link .
10- MVVM-DataBinding.
11- Android Continuous Integration using Fastlane (under dev) Tutorial link.
12- Firebase test lab (under dev).
13- AWS&CircleCI(under dev).
14- Make Android App bundle(under dev) and dynamic delivery Tutorial link.

User Acceptance Test Cases

AcceptanceTestCase1

AcceptanceTestCase2

Domain-Driven-Design Archticture Diagram

alt text

UML Diagrams (Sequence Diagram & Class Diagram) will be modified soon but it will be as below :

ModelDiagram

StreetGlideRepository

loginSeq

RequestSheetSeq diaNew

BDD & TDD Flow

BDD TDD

Checklist Template_UnitTesting

DZ_ChecklistTemplate_UnitTesting_0_Page1

DZ_ChecklistTemplate_UnitTesting_0_Page2

DZ_ChecklistTemplate_UnitTesting_0_Page3

Git Fow

Gitflow

CI/CD FLOW

CICD

Android Test pyramid

alt text

Tutorial Sample

Circle-CI & Fastlane Jobs

CirclCI

SonarQube Test-Coverage

SonarCloud

Complete -Sample

please goto full Sample

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published