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.properties
file in root project (you must switch project structure fromAndroid
toProject
in the top-left corner). - Add a single line to
local.properties
that looks likeMAPS_API_KEY=YOUR_API_KEY
, whereYOUR_API_KEY
is the API key you obtained in the first step. - For
Places
andDirections
API Key. Just copy yourAPI KEY
and place this key togradle.properties
MAPS_API_KEY="PLACE_YOUR_API_KEY_HERE"
, wherePLACE_YOUR_API_KEY_HERE
is 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:
:app
module depends on:core
and:lib
.:core
and:lib
doesnโ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.