Laravel Lumen is a stunningly fast PHP micro-framework for building web applications with expressive, elegant syntax.
Lumen attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as routing, database abstraction, queueing, and caching.
https://lumen.laravel.com
Open-source
Version Code
We running with 2 main branch :
1. Develop -> Staging & Sandbox
2. Master -> Release
For deployment to production using tagging. eg : v1.0.1
Using GIT FLOW to manage feature branch
WE ARE USING BITCBUCKET FOR REPOSITORY CODE AND CONTINUOUS DELIVERY
For CONTINUOUS DELIVERY we are using PIPELINE on Bitbucket.
https://bitbucket.com
Monthly cost : $25
One of biggest server provider in Indonesia.
Highly Reliable. Designed and hosted on Tier-3 data centers, BiznetGio's cloud architecture serves an enterprise infrastructure needs with no worries.
https://www.biznetgio.com/
Monthly cost :
IDR 1.500.000 - 2.000.000,-
a system for automating deployment, scaling and management of containerized applications that was originally designed by Google and now maintained by the Cloud Native Computing Foundation
https://kubernetes.io/
Open-source
an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud
https://www.docker.com/
Open-source
an enterprise open source monitoring software for networks and applications,
It is designed to monitor and track the status of various network services, servers, and other network hardware.
https://www.zabbix.com/
Open-source
an open source data visualization plugin for Elasticsearch. It provides visualization capabilities on top of the content indexed on an Elasticsearch cluster
We user for monitoring log & indexed content
https://www.elastic.co/products/kibana
Open-source
CENT OS as Operating System
https://www.centos.org/
Nginx & Apache as Web server
https://www.nginx.com/
Squid as Proxy stack
https://squidproxy.org/
Redis as Queue & In-Memory Databases - http://redis.io
Supersivor as Worker - supervisord.org/
Zoho Mail - Email inbox provider - Free
https://mail.zoho.com
Mailgun - Email gateway - Freemium
https://www.mailgun.com/
Cloudfrare - DNS - Free
https://lumen.laravel.com
AWS S3 - File storage - Monthly Cost $5
https://aws.amazon.com/s3/
MySql - Database - Opensource
https://mysql.com
Google Analytics - Event Tracker - Free
https://analytics.google.com
Death By captcha - Manual Capthca Solver - Montly cost $50
http://www.deathbycaptcha.com/
Rollbar - Error Alert & Monitoring Engine - Free
https://rollbar.com
Chaport - Live Chat - Free
https://chaport.com
Monitoring sistem internal yang ada di Biznet Gio yang meliputi server database, server aplikasi dan server ops.
Monitoring ini menghasilkan matriks tentang penggunaan resource cpu secara keseluruhan seperti CPU, RAM, Disk IO, dan network bandwidth.
Saat ini internal monitoring menggunakan Zabbix.
Uptime monitoring digunakan untuk memonitoring website dari banyak lokasi yang tersebar di dunia menggunakan aplikasi dari statuscake.
Monitoring Engine dan Error Allert Menggukan Rollbar
Ada 2 macam time uptime monitoring yang akan digunakan, yaitu monitoring internal dan external.
JIka sistem anomaly detection mendeteksi adanya masalah dari sistem monitoring internal dan external, maka notifikasi akan dikirimkan melalui email tergantung tingkat urgenisitas.
Secara garis besar, arsitektur FINFINI dalam environment production mengadopsi karakteristik highly available, highly scalable, highly reliable dan tentunya highly flexible.
Access to server using VPN
Sensitive Data are Encrypted
Data Transmitted over SSL
Every request should be have signature
Credential will not store on database if client don’t give us permission
What might be challenges of integration and add more banks account/e-commerce ?
How to comply the security with regulation ?
CLIENTS = 50
USERS = 69
VENDORS = 30
ACCOUNTS = 1.409
PRODUCTS = 1.489
CREDIT CARD = 56
TOTAL BALANCE = 5.431.950.146
CASHFLOW = 193.095
TOTAL AMOUNT OF CASHFLOW = 122.128.143.597
TOTAL HIT = 258.503
{
"status": "success",
"data": {
"fullname": "GUMILANG FACHRIZAL",
"additional_info": {
"last_login": "23-Apr-2018 16:32:55 WIB",
"nickname": "Mr."
},
"balance": 0,
"accountnumber": "00000000585508370"
}
}
{
"status": "success",
"data": {
"fullname": "Yoga Dwi Sukma",
"additional_info": {
"address": "6282297209781",
"email": "zligerzero@yahoo.com",
"akun_url": "www.bukalapak.com/yogadss"
},
"balance": 0,
"accountnumber": "6282297209781"
}
}
e-Commerce
BANK
{
"status": "success",
"data": {
"debit_card": [
{
"number": "00000000585508370",
"type": "BNI TAPLUS",
"currency": "IDR",
"balance": 10955829,
"transactions": [
{
"note": "BY TRX ATM PRIMA",
"date": {
"original": "2018-04-12",
"day": "Thursday",
"date": 12,
"month": 4,
"year": 2018
},
"amount": 7500,
"type": "debit",
"info": [],
"status": [],
"properties": []
}
],
"properties": []
},
{
"number": "00000000413596638",
"type": "BNI TAPLUS",
"currency": "IDR",
"balance": 2223316,
"transactions": [
{
"note": "BY TRX ATM PRIMA",
"date": {
"original": "2018-04-12",
"day": "Thursday",
"date": 12,
"month": 4,
"year": 2018
},
"amount": 7500,
"type": "debit",
"info": [],
"status": [],
"properties": []
}
],
"properties": []
}
]
}
}
{
"status": "success",
"data": {
"id": 1352,
"nickname": "",
"login_status": 1,
"login_info": "Succesfully Log in",
"properties": null,
"created_at": "2018-01-31 21:26:02",
"updated_at": "2018-03-05 13:53:05",
"vendor": {
"id": 16,
"name": "MandiriOnline"
},
"products": [
{
"id": 1505,
"number": "1380014906452",
"type": "Saving",
"balance": 21354521.29,
"nickname": "Saving",
"created_at": "2018-01-31 21:26:02",
"updated_at": "2018-03-05 13:45:54",
"properties": null
}
]
}
}
{
"status": "success",
"data": {
"profile": {
"fullname": "Yoga Dwi Sukma",
"address": [
"Jl W.R. Soepratman 149. RT01/RW12. Tambakrejo, Purworejo, Purworejo"
],
"email": "zligerzero@yahoo.com",
"number": "6282297209781"
},
"order": {
"0": {
"date": "2018-03-17",
"note": "Pembelian dari YULI MULYADI",
"type": "debit",
"amount": 455433,
"properties": "{\"details\":[{\"title\":\"Stik Ps4 Ds4 old model\",\"tag\":\"\",\"quantity\":1,\"amount\":430000}]}"
},
"1": {
"date": "2018-02-03",
"note": "Pembelian dari MUHAJIR UMAR",
"type": "debit",
"amount": 317270,
"properties": "{\"details\":[{\"title\":\"Kaset PS4 The Witcher 3 Wild Hunt Completed Edition\",\"tag\":\"\",\"quantity\":1,\"amount\":280000}]}"
}
}
}
}
How to integrate this data to our environment ?
Since we based on RESFUL API which is the raw data on JSON formated, it will much easier to integrate to any platform