Make E-Commerce using Kotlin, and for backend i use Golang, and PHP
- MVVM
- Retrofit2
- 15+ Screen
- Payment Gateway (Razorpay & Midtrans)
- Firebase Auth (Sign in with email & Google Sign in)
- Live Data
- Network API
- Picasso
- Shared Preference
- CRUD API
- Splash Screen, OnBoarding Screen, etc ...
use your own apiKey
object Constant {
const val MERCHAT_ID_MIDTRANS = "YOUR_API_KEY"
const val CLIENT_KEY_MIDTRANS = "SB-Mid-client-YOUR_API_KEY"
const val SERVER_KEY_MIDTRANS = "SB-Mid-server-YOUR_API_KEY"
const val BASE_URL_MIDTRANS = "PHP API SERVER"
const val KEY_ID_RAZORAPP = "rzp_test_YOUR_API_KEY";
const val KEY_SECRET_RAZORAPP = "YOUR_API_KEY";
}
please check this https://github.com/achmadrizkin/golang_e-commerce_API
please create, and deploy to your own server
<?php
// Set your server key (Note: Server key for sandbox and production mode are different)
$server_key = 'SB-Mid-server-ADDYOURKEYHERE';
// Set true for production, set false for sandbox
$is_production = false;
$api_url = $is_production ?
'https://app.midtrans.com/snap/v1/transactions' :
'https://app.sandbox.midtrans.com/snap/v1/transactions';
// get the HTTP POST body of the request
$request_body = file_get_contents('php://input');
// set response's content type as JSON
header('Content-Type: application/json');
// call charge API using request body passed by mobile SDK
$charge_result = chargeAPI($api_url, $server_key, $request_body);
// set the response http status code
http_response_code($charge_result['http_code']);
// then print out the response body
echo $charge_result['body'];
/**
* call charge API using Curl
* @param string $api_url
* @param string $server_key
* @param string $request_body
*/
function chargeAPI($api_url, $server_key, $request_body){
$ch = curl_init();
$curl_options = array(
CURLOPT_URL => $api_url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
// Add header to the request, including Authorization generated from server key
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'Authorization: Basic ' . base64_encode($server_key . ':')
),
CURLOPT_POSTFIELDS => $request_body
);
curl_setopt_array($ch, $curl_options);
$result = array(
'body' => curl_exec($ch),
'http_code' => curl_getinfo($ch, CURLINFO_HTTP_CODE),
);
return $result;
}
Splash Screen | On Boarding Screen 1 | On Boarding Screen 2 |
---|---|---|
On Boarding Screen 3 | Login Screen | Transaction Empty Screen |
---|---|---|
Empty My Product Screen | Profile Screen | Product details 1 |
---|---|---|
Add/Edit Product Screen | My Product Screen | Home Screen 1 |
---|---|---|
Home Screen 2 | Product Details Screen | Midtrans |
---|---|---|
Razorpay | Transaction Screen | User Profile (if name, and image null) |
---|---|---|