Skip to content

This Sample1 Project shows the full cycle to build optimal software android app product defining business model , wireframes , user stories,etc.. end with testing and refactoring to deploy through CI/CD pipeline . working on full automation cicle with vagrant and docker.

Notifications You must be signed in to change notification settings

YassinELhadedy/Build-Android-App-Sample1-CompleteCycle

Repository files navigation

running sampe1 with android studio

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. 4- Koin DI 5- Mockito Junit 6- Esspresso UI Test 7- Robolectric unit test 8- RX Android 9- Parametrized unit test 10- GreenDao ORM DB

User Stories

The following required functionality is completed:

As a User(runner), I want to be able to log-in to the application to start trip and manage shipments. Upon User(runner)logging-in request run data sheet from System. As a User(runner) I want to be able to view run-sheet details.

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". https://www.vagrantup.com/intro/index.html

Tools and Technologies are Used :

1- Vagrant with Libvert https://docs.cumulusnetworks.com/display/VX/Vagrant+and+Libvirt+with+KVM+or+QEMU 2- Domain-Driven Design (DDD) http://www.zankavtaskin.com/2014/12/applied-domain-driven-design-ddd-part-0.html https://www.codeproject.com/Articles/339725/Domain-Driven-Design-Clear-Your-Concepts-Before-Yo 3- Cucumber and Espresso https://medium.com/gumtree-dev-team/android-bdd-with-cucumber-and-espresso-the-full-guide-9c20cfcb8535 4- TDD & BDD (unit test & intgration test & UI test). 5- CircleCI CI/CD. https://proandroiddev.com/circleci-with-android-continuous-integration-3ecd98f92bd4 6- Kotlin with RX. 7- GreenDAO ORM Android DB http://greenrobot.org/greendao/. 8- Mockito & Robolectric. 9- parmeterized unit test.https://www.tutorialspoint.com/junit/junit_parameterized_test.htm 10- MVP. 11- Android Continuous Integration using Fastlane (under dev). 12- Firebase test lab (under dev). 13- AWS&CircleCI(under dev). 14- Make Android App bundle(under dev) and dynamic delivery https://www.youtube.com/watch?v=9D63S4ZRBls.

User Acceptance Test Cases

AcceptanceTestCase1

AcceptanceTestCase2

Domain-Driven-Design Archticture Diagram

alt text

UML Diagrams (Sequence Diagram & Class Diagram)

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

https://medium.com/android-testing-daily/the-3-tiers-of-the-android-test-pyramid-c1211b359acd

About

This Sample1 Project shows the full cycle to build optimal software android app product defining business model , wireframes , user stories,etc.. end with testing and refactoring to deploy through CI/CD pipeline . working on full automation cicle with vagrant and docker.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published