Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Team: meagre, AppName: VR Shop #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions android-app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*.iml
.gradle
/local.properties
/.idea/*
.DS_Store
/build
/captures
.externalNativeBuild
23 changes: 23 additions & 0 deletions android-app/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# VR Shop
An E-Commerce Android Application.

## Tech-Stack
![Smooch Logo](https://d1qb2nb5cznatu.cloudfront.net/startups/i/1087872-666974d3171a921ccb5231ca666a583a-medium_jpg.jpg?buster=1460148128)
![PayU Money Gateway](https://i2.wp.com/rcjobssms.com/files/uploads/2017/05/Payments-Secured-by-Payumoney-website.png?ssl=1)
![Firebase](https://firebase.google.com/downloads/brand-guidelines/PNG/logo-built_white.png)
![Flask](https://camo.githubusercontent.com/374f4b395383ef4728c1bb7a1622c30a60c968dc/68747470733a2f2f66696c6573746f72652e6861737572612e696f2f76312f66696c652f65653138343866352d396630342d343062612d396439372d363033343262613764363733)

## Brownie Points
+ Used Smooch(https://app.smooch.io/) for the Chat Service between Customer and the Owner or Customer Care Excecutives.
+ Using TensorFlow Lite for the recognition of Object through Scanning by camera and searching for the Object.
+ Implemented Google Maps for the User to See nearBy Locations of Stores.
+ An Auth of Firebase to have Access for only people authorised.
+ All the messages received from the ChatService will be Notified with Notification by Using Firebase Messaging Service.
+ Used PayUMoney PaymentGateway for Purchasing the Items through App.
+ All the Items are shown in CardView in the RecyclerView.
+ All the Items are Retrived from Server's DataBase using OkHttp API and Moshi to Parse the JsonData.
+ Calling System to Contact Customer Care and make their Queries.
+ App can be Shared using Bluetooth.
+ Accessing SdCard to make the Invoices Stored.

Submission by Akshay Sharma and Raj Sagar.
1 change: 1 addition & 0 deletions android-app/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
54 changes: 54 additions & 0 deletions android-app/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 27
defaultConfig {
applicationId "codefest.vrshop"
minSdkVersion 23
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
aaptOptions {
noCompress "tflite"
noCompress "lite"
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
implementation 'org.tensorflow:tensorflow-lite:1.10.0'
implementation 'com.wonderkiln:camerakit:0.13.1'
implementation'com.google.code.gson:gson:2.3.1'
implementation'com.squareup.okhttp:okhttp:2.4.0'
implementation'io.smooch:core:latest.release'
implementation'io.smooch:ui:latest.release'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation "com.squareup.picasso:picasso:2.5.2"
implementation 'com.google.firebase:firebase-messaging:17.3.0'
implementation('com.payumoney.sdkui:plug-n-play:1.0.0') {
transitive = true;
exclude module: 'payumoney-sdk'
}

implementation 'com.payumoney.core:payumoney-sdk:7.0.1'
implementation 'com.squareup.moshi:moshi:1.6.0'
}

apply plugin: 'com.google.gms.google-services'
55 changes: 55 additions & 0 deletions android-app/app/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"project_info": {
"project_number": "671335965877",
"firebase_url": "https://codefest18-9abc9.firebaseio.com",
"project_id": "codefest18-9abc9",
"storage_bucket": "codefest18-9abc9.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:671335965877:android:598f8e9ceae2c2e9",
"android_client_info": {
"package_name": "codefest.vrshop"
}
},
"oauth_client": [
{
"client_id": "671335965877-vjk234ovfp02q17d12vph4vocpccasju.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "codefest.vrshop",
"certificate_hash": "0cc82f0946a2708dece98f04ab80766395898fa7"
}
},
{
"client_id": "671335965877-ok27sd3sgq1ps36et73dp1sfuejr4au6.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDi2ATpJ13pkja7BLcfjrIPN6LlkxNMndU"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "671335965877-ok27sd3sgq1ps36et73dp1sfuejr4au6.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}
25 changes: 25 additions & 0 deletions android-app/app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

# For FCM Auth
-keepattributes Signature
-keepattributes *Annotation*
24 changes: 24 additions & 0 deletions android-app/app/src/debug/res/values/google_maps_api.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<resources>
<!--
TODO: Before you run your application, you need a Google Maps API key.

To get one, follow this link, follow the directions and press "Create" at the end:

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=14:C9:5E:FF:C7:FB:E4:72:E4:58:F0:0A:AC:C9:CA:B0:C6:8F:35:47%3Bcodefest.vrshop

You can also add your credentials to an existing key, using these values:

Package name:
14:C9:5E:FF:C7:FB:E4:72:E4:58:F0:0A:AC:C9:CA:B0:C6:8F:35:47

SHA-1 certificate fingerprint:
14:C9:5E:FF:C7:FB:E4:72:E4:58:F0:0A:AC:C9:CA:B0:C6:8F:35:47

Alternatively, follow the directions here:
https://developers.google.com/maps/documentation/android/start#get-key

Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.
-->
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">AIzaSyBNMrEHti4VcxpLOxX6QK_lqmhhhuw3vY8</string>
</resources>
92 changes: 92 additions & 0 deletions android-app/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="codefest.vrshop">

<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the 'MyLocation' functionality.
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!-- Needed only if your app targets Android 5.0 (API level 21) or higher. -->
<uses-feature android:name="android.hardware.location.gps" />

<uses-permission android:name="android.permission.CALL_PHONE" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:name="codefest.vrshop.MyApplication"
android:theme="@style/AppTheme"
tools:replace="android:allowBackup">
<activity
android:name=".Activities.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">

<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />

</activity>
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
You need a different API key for each encryption key, including the release key that is used to
sign the APK for publishing.
You can define the keys for the debug and release targets in src/debug/ and src/release/.
-->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />

<activity
android:name=".Activities.MapsActivity"
android:label="@string/title_activity_maps" />
<activity
android:name=".Activities.SplashActivity"
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".Activities.CameraClassifier"></activity>

<service
android:name=".Services.FirebaseInstanceService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>

<service
android:name=".Services.FCMService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>

<provider
android:name=".Utils.GenericFileProvider"
android:authorities="codefest.vrshop.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>

</manifest>
Loading