This repository contains Admin and Driver product flavor merge into single codebase.
- Android Studio Artic Fox Beta (or newer) to be able to build the app.
- JDK 1.8 or JDK11 (working on my development setup).
- Kotlin-enabled project.
First clone this repository (See the options on the right hand side.)
In Android Studio, use the "Open an existing Android Studio project", find the downloaded project folder and select the (truck-me-android).
- Get an API Key.
- Open the
local.propertiesfile in root project (you must switch project structure fromAndroidtoProjectin the top-left corner). - Add a single line to
local.propertiesthat looks likeMAPS_API_KEY=YOUR_API_KEY, whereYOUR_API_KEYis the API key you obtained in the first step. - For
PlacesandDirectionsAPI Key. Just copy yourAPI KEYand place this key togradle.propertiesMAPS_API_KEY="PLACE_YOUR_API_KEY_HERE", wherePLACE_YOUR_API_KEY_HEREis the same as your API key in thelocal.properties. See pull request #23 - Build and run.
Navigate to Build Variants. (Can be found on the bottom left side of project panel)
Note: use only the adminDebug and driverDebug type for testing.
Clean and run the project.
Alternatively use the ./gradlew build command to build the project directly.
Modules are collection of source files and build settings that allow you to divide a project into discrete units of functionality. In this case apart from dividing by functionality/responsibility, existing the following dependence between them:
The above graph shows the app modularization:
:appmodule depends on:coreand:lib.:coreand:libdoesnโt have any dependency.
The :app module is an com.android.application, which is needed to create the app bundle. It is also responsible for initiating the dependency graph, play core and another project global libraries, differentiating especially between different app environments.
The :core module is an com.android.library for serving network requests, accessing to the database and shared preferences. Providing the data source for the many features that require it.
The :libs module is an com.android.library only contains inset animations, drag and UI layout manipulation.
- Add Unit tests
- Add Integration tests
Copyright 2021 Force Porquillo (strongforce)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
