Skip to content

๐Ÿšš TruckMe is a mobile application that provides delivery services by connecting its admin with delivery drivers on its mobile. [F]

License

Notifications You must be signed in to change notification settings

forceporquillo/truck-me-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TruckMe

Description

This repository contains Admin and Driver product flavor merge into single codebase.

Development

Requirements & Environment setup

  • 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.

Installation

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).

  1. Get an API Key.
  2. Open the local.properties file in root project (you must switch project structure from Android to Project in the top-left corner).
  3. Add a single line to local.properties that looks like MAPS_API_KEY=YOUR_API_KEY, where YOUR_API_KEY is the API key you obtained in the first step.
  4. For Places and Directions API Key. Just copy your API KEY and place this key to gradle.properties MAPS_API_KEY="PLACE_YOUR_API_KEY_HERE", where PLACE_YOUR_API_KEY_HERE is the same as your API key in the local.properties. See pull request #23
  5. Build and run.

Switching between Admin and Driver build variant

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

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.

App module

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.

Core module

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.

Libs module

The :libs module is an com.android.library only contains inset animations, drag and UI layout manipulation.

TODO

  • Add Unit tests
  • Add Integration tests

License

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.

About

๐Ÿšš TruckMe is a mobile application that provides delivery services by connecting its admin with delivery drivers on its mobile. [F]

Topics

Resources

License

Stars

Watchers

Forks

Languages