Evaluasi Akhir Semester - Perancangan Perangkat Lunak

Nama : I Gusti Ngurah Ervan Juli Ardana NRP : 5025211205 Kelas : Perancangan Perangkat Lunak A


Evaluasi Akhir Semester PPL 


  1. Deskripsikan model bisnis yang dipilih?

Jawaban :

Model bisnis yang akan saya gunakan yaitu model bisnis perusahaan starbucks. Starbucks Corporation adalah perusahaan multinasional asal Amerika Serikat yang terkenal sebagai rantai kedai kopi terbesar di dunia. Perusahaan ini dikenal dengan produk kopinya yang berkualitas tinggi serta pengalaman pelanggan yang unik. 


Salah satu prinsip utama yang mendasari model bisnis Starbucks adalah konsep "tempat ketiga". Konsep ini merujuk pada penciptaan lingkungan yang nyaman dan ramah dimana pelanggan dapat bersantai dan bersosialisasi, selain dari rumah dan tempat kerja mereka. Starbucks mencapai hal ini dengan mendesain gerainya dengan perabotan yang nyaman, menyediakan Wi-Fi gratis, dan menciptakan suasana yang hangat serta mengundang.


Lebih dari sekadar menyediakan tempat fisik, Starbucks juga memperhatikan aspek pengalaman pelanggan dengan cermat. Mereka menyusun daftar putar musik yang menciptakan suasana menenangkan, menjadikannya tempat yang ideal untuk bersantai. Aroma kopi yang baru diseduh yang memenuhi udara menambah daya tarik, membuat pelanggan merasa nyaman dan ingin menghabiskan waktu lebih lama di sana.


Pilar lain dari model bisnis Starbucks adalah komitmennya terhadap kualitas. Perusahaan ini hanya menggunakan biji kopi terbaik dari seluruh dunia dan berinvestasi dalam program pelatihan yang ketat untuk memastikan para barista dapat menyajikan secangkir kopi yang sempurna. Komitmen terhadap kualitas ini tidak hanya terbatas pada kopi, tetapi juga meliputi produk-produk lainnya, seperti kue kering dan sandwich, yang dibuat dengan bahan-bahan segar dan berkualitas tinggi.


Starbucks sangat menaruh perhatian pada proses pemilihan biji kopinya. Pembeli kopi ahli mereka berkeliling ke berbagai daerah penghasil kopi, membangun hubungan dengan para petani, dan memastikan bahwa mereka mematuhi praktik pertanian berkelanjutan. Langkah ini tidak hanya menjamin kualitas kopi yang tinggi, tetapi juga mendukung kesejahteraan para petani dan menjaga kelestarian lingkungan.


  1. Identifikasi perangkat lunak apa saja yang diperlukan, kemudian jelaskan alasannya?

Jawaban :

  1. Starbucks Mobile App

 Aplikasi mobile Starbucks memungkinkan pelanggan untuk memesan minuman secara online, melihat estimasi waktu pengambilan, dan mendapatkan bonus poin. Hal ini mengurangi kontak fisik dengan staf dan meningkatkan kenyamanan pelanggan melalui pemesanan dan pembayaran digital, sehingga meningkatkan pengalaman pelanggan secara keseluruhan.

  1. Order management system

Untuk mengelola pesanan pelanggan yang diterima melalui aplikasi mobile atau platform online lainnya, Starbucks memanfaatkan sistem manajemen pesanan. Sistem ini memastikan pesanan disiapkan tepat waktu dan informasi status pesanan dikirimkan kepada pelanggan, sehingga meningkatkan efisiensi dan kepuasan pelanggan. 

  1. Stock System

Di samping itu, sistem manajemen stok digunakan untuk melacak persediaan bahan baku dan produk jadi. Dengan sistem ini, Starbucks dapat menghindari kehabisan stok dan memastikan operasional yang lancar dengan persediaan yang selalu tersedia untuk memenuhi pesanan pelanggan.

  1. Navigation System

Starbucks membutuhkan Sistem navigasi untuk membantu pelanggan menemukan lokasi Starbucks terdekat dan memberikan informasi mengenai layanan yang tersedia, seperti layanan takeaway.

  1. Warehouse Management System

Starbucks seharusnya membutuhkan sistem Untuk pengelolaan gudang penyimpanan bahan baku dan produk jadi. Maka itu Sistem Warehouse Management System baik diterapkan

  1. Supply Chain Management System 

Starbucks membutuhkan SCM untuk mengelola pengadaan biji kopi, bahan baku, dan distribusi ke ribuan toko di seluruh dunia. SAP SCM atau Oracle SCM mungkin digunakan.

  1. Human Resource Information System 

Untuk pengelolaan karyawan, penggajian, dan manajemen tenaga kerja, kemungkinan menggunakan Workday atau SAP SuccessFactors.

  1. Quality Management System

Untuk memastikan kualitas produk dan kepatuhan terhadap standar, Starbucks mungkin menggunakan perangkat lunak seperti EtQ atau MasterControl.


  1. Buatkan rancangan perangkat lunaknya ?

Jawaban :

  • Deskripsi Aplikasi

Starbucks Coffee merupakan perusahaan yang pada dasarnya bergerak dalam bidang coffee retail, dimana mereka membeli dan memanggang secara utuh biji kopi berkualitas tinggi dan menjualnya melalui aneka lini produk minuman espresso ala Italia yang segar dan bercita rasa tinggi. Starbucks Coffee juga menyediakan berbagai makanan ringan berupa kue kering dan basah, peralatan dan aksesori yang berkaitan dengan minuman kopi. Fitur utama yang akan disediakan oleh aplikasi ini meliputi:

  • Pemesanan Minuman dan Makanan: Pelanggan dapat memesan minuman dan makanan melalui aplikasi.

  • Pembayaran Digital: Pelanggan dapat membayar menggunakan kartu kredit/debit atau dompet digital.

  • Program Loyalitas: Pelanggan dapat mengumpulkan poin dari pembelian yang dapat ditukarkan dengan hadiah.

  • Pelacakan Pesanan: Pelanggan dapat melacak status pesanan mereka secara real-time.

  • Penawaran Khusus dan Promosi: Pelanggan dapat menerima penawaran khusus dan promosi yang dipersonalisasi.


  • Requirements

  • Functional

  1. User Authentication

  • Pengguna dapat mendaftar dan masuk menggunakan email atau media sosial.

  1. Order Management

  • Pengguna dapat memilih produk dari menu.

  • Pengguna dapat menambah atau mengurangi item dalam keranjang belanja.

  • Pengguna dapat melakukan pemesanan.

  1. Payment Integration

  • Pengguna dapat menyimpan metode pembayaran.

  • Pengguna dapat melakukan pembayaran melalui berbagai metode (kartu kredit, dompet digital).

  1. Loyalty Program

  • Pengguna dapat melihat dan mengumpulkan poin dari setiap transaksi.

  • Pengguna dapat menukarkan poin untuk hadiah.

  1. Order Tracking

  • Pengguna dapat melacak status pesanan secara real-time.

  1. Notifications

  • Pengguna dapat menerima notifikasi tentang status pesanan dan promosi.


  • Non-Functional

  1. Security

  • Data pengguna dan transaksi harus aman dengan enkripsi.

  1. Performance

  • Aplikasi harus responsif dan cepat dengan waktu respon kurang dari 2 detik untuk setiap transaksi.

  1. Scalability

  • Aplikasi harus mampu menangani peningkatan jumlah pengguna.

  1. Usability

  • Aplikasi harus mudah digunakan dan intuitif.

  1. Compatibility

  • Aplikasi harus kompatibel dengan berbagai perangkat dan sistem operasi.


  • Estimation Capacity

  • Estimasi Trafik

Misalkan kita memiliki total 1 Juta pengguna dengan 100 Ribu pengguna aktif harian (DAU), dan setiap pengguna, secara rata-rata, melakukan 1 pesanan per hari. Dari situ, dapat disimpulkan bahwa terdapat sekitar 1 miliar pesanan setiap hari.

Total Trafik = Total Pengguna x pesanan Per-hari

= 100 Ribu x 1  pesanan = 100 ribu/hari

Dari pesanan tersebut aplikasi ini juga dapat menambahkan feedbaack yang mencakup media seperti gambar atau video. Jika kita mengasumsikan bahwa 10 persen dari feedback tersebut berupa file media yang dibagikan oleh pengguna, maka akan ada tambahan 10 ribu file yang perlu disimpan.

10 persen x 100 ribu = 10 ribu/hari


Dengan demikian, Permintaan Sistem per Detik (RPS) adalah sekitar 1,15 permintaan per detik.


100 ribu / (24 jam x 3600 detik) = 1,15 permintaan/detik


  • Estimasi Storage

Jika kita anggap setiap pesan memiliki rata-rata ukuran 100 byte, maka kita akan membutuhkan sekitar 100 GB penyimpanan database setiap harinya.


100 ribu x 100 byte =0,01 GB/hari


Dari jumlah tersebut, 10 persen dari pesan harian (10 RIBU) adalah file media. Jika kita asumsikan setiap file memiliki ukuran rata-rata 50KB, maka kita akan memerlukan penyimpanan sebesar 5 TB setiap harinya.


10 Ribu x 50 KB = 0,5 GB/hari


Sehingga, dalam jangka waktu 10 tahun, kita membutuhkan penyimpanan sekitar 19 PB.


(0,5 GB + 0,01 GB ) x 365 hari x 10 tahun = 1861.5 GB


  • Estimasi Bandwidth

Dengan sistem ini memproses masukan sebesar 5,1 TB setiap harinya, sistem ini memerlukan bandwidth minimum sekitar 60 MB per detik.


0,5 GB / (24 jam x 3600 detik) =  5.787 mikrobita per detik


  • High Level Design Starbucks


  • Main Components

  1. Starbucks Mobile App: Aplikasi mobile untuk memesan minuman secara online, melihat estimasi waktu pengambilan, mendapatkan poin bonus, dan menemukan lokasi terdekat.

  2. Order Management System: Mengelola pesanan dari pelanggan, baik yang dilakukan di toko, melalui aplikasi seluler, atau website.

  3. Stock Management System: Melacak stok bahan baku dan produk jadi di setiap cabang.

  4. Navigation System: Membantu pelanggan menemukan lokasi Starbucks terdekat dan memberikan informasi mengenai layanan yang tersedia, seperti layanan takeaway.

  5. Warehouse Management System (WMS): Mengelola gudang penyimpanan bahan baku dan produk jadi.

  6. Supply Chain Management System (SCM): Mengelola pengadaan biji kopi, bahan baku, dan distribusi ke ribuan toko di seluruh dunia.

  7. Human Resource Information System (HRIS): Mengelola karyawan, penggajian, dan manajemen tenaga kerja.

  8. Quality Management System (QMS): Memastikan kualitas produk dan kepatuhan terhadap standar.

  9. Customer Loyalty Program: Mengelola program loyalitas pelanggan, termasuk poin, diskon, dan promosi.

  10. Reporting and Analytics: Mengumpulkan data dari berbagai sumber untuk menghasilkan laporan dan analisis bisnis.

  11. User Management: Mengelola akun dan peran pengguna, termasuk karyawan dan manajer.

  12. Payment Gateway: Mengintegrasikan dengan berbagai metode pembayaran, termasuk kartu kredit, dompet digital, dan lainnya.

  • Low Level Design

1. Order Service

UI Layer : 

  • Order Management Interface

    • Web dan mobile UI untuk pelanggan memesan minuman dan melihat status pesanan.

    • Komponen utama:

      • Formulir pemesanan

      • Daftar produk

      • Status pesanan

      • Riwayat pesanan

Application Layer : 

  • Order Controller

    • Mengelola permintaan API untuk membuat, memperbarui, dan mengambil pesanan.

  • Order Service

    • Logika bisnis untuk memproses pesanan, menghitung total, dan memperbarui status.

    • Memanggil Stock Service untuk memeriksa dan memperbarui stok.

  • Order Validator

    • Memvalidasi data pesanan untuk memastikan semua produk tersedia dan jumlah yang dipesan masuk akal.

2. Stock Service

UI Layer : 

  • Inventory Management Interface

    • Web dan mobile UI untuk manajer toko untuk melihat dan memperbarui stok.

    • Komponen utama:

      • Daftar inventaris

      • Formulir pembaruan stok

      • Notifikasi stok rendah

Application Layer : 

  • Stock Controller

    • Mengelola permintaan API untuk memperbarui dan mengambil data stok.

  • Stock Service

    • Logika bisnis untuk memperbarui dan mengambil data stok.

    • Memeriksa stok yang tersedia dan memicu notifikasi jika stok rendah.

3. Navigation Service

UI Layer : 

  • Store Locator Interface

    • Web dan mobile UI untuk pelanggan menemukan lokasi Starbucks terdekat.

    • Komponen utama:

      • Peta lokasi

      • Daftar cabang terdekat

      • Detail layanan cabang

Application Layer:

  • Navigation Controller

    • Mengelola permintaan API untuk menemukan cabang terdekat.

  • Navigation Service

    • Logika bisnis untuk menghitung jarak dan menyaring cabang berdasarkan layanan yang tersedia.

4. Warehouse Management Service (WMS)

UI Layer

  • Warehouse Management Interface

    • Web UI untuk staf gudang untuk mengelola inventaris dan pesanan.

    • Komponen utama:

      • Daftar inventaris gudang

      • Formulir pembaruan inventaris

      • Status pesanan gudang

Application Layer

  • Warehouse Controller

    • Mengelola permintaan API untuk memperbarui dan mengambil inventaris gudang.

  • Warehouse Service

    • Logika bisnis untuk mengelola inventaris gudang dan memproses pesanan gudang.

5. Supply Chain Management Service (SCM)

UI Layer

  • Supply Chain Management Interface

    • Web UI untuk manajer rantai pasokan untuk mengelola pesanan pasokan dan pemasok.

    • Komponen utama:

      • Daftar pemasok

      • Formulir pesanan pasokan

      • Status pesanan pasokan

Application Layer

  • Supply Chain Controller

    • Mengelola permintaan API untuk membuat, memperbarui, dan mengambil pesanan pasokan.

  • Supply Chain Service

    • Logika bisnis untuk memproses pesanan pasokan dan mengelola pemasok.

    • Memastikan pesanan pasokan tepat waktu dan sesuai kebutuhan stok.

6. Human Resource Information Service (HRIS)

UI Layer : 

  • HR Management Interface

    • Web UI untuk manajer HR untuk mengelola data karyawan, kehadiran, dan penggajian.

    • Komponen utama:

      • Daftar karyawan

      • Formulir karyawan baru

      • Catatan kehadiran

      • Penggajian

Application Layer :

  • HR Controller

    • Mengelola permintaan API untuk menambah, memperbarui, dan mengambil data karyawan.

  • HR Service

    • Logika bisnis untuk mengelola data karyawan, kehadiran, dan penggajian.

    • Memastikan data karyawan akurat dan up-to-date.

7. Quality Management Service (QMS)

UI Layer

  • Quality Management Interface

    • Web UI untuk tim QA untuk mengelola inspeksi kualitas dan laporan.

    • Komponen utama:

      • Daftar inspeksi kualitas

      • Formulir inspeksi baru

      • Laporan kualitas

Application Layer

  • Quality Management Controller

    • Mengelola permintaan API untuk log dan mengambil inspeksi kualitas.

  • Quality Management Service

    • Logika bisnis untuk mengelola inspeksi kualitas dan memastikan kepatuhan terhadap standar.

    • Menganalisis hasil inspeksi dan memicu tindakan jika diperlukan.


  1. Lengkapi dengan desain database dan desain UI

Jawaban :

  • Database Design :

  1. CDM


  1. PDM

  1. Implementasi

-- tables

-- Table: Item

CREATE TABLE Item (

    id_item int  NOT NULL,

    nama_item varchar(256NOT NULL,

    harga item int  NOT NULL,

    stok_item int  NOT NULL,

    CONSTRAINT Item_pk PRIMARY KEY (id_item)

);


-- Table: Item_Feedback

CREATE TABLE Item_Feedback (

    feedback_id int  NOT NULL,

    rating int  NOT NULL,

    deskripsi varchar(256NOT NULL,

    Order_Details_Order_Details_id int  NOT NULL

);


-- Table: Order_Details

CREATE TABLE Order_Details (

    Order_Details_id int  NOT NULL,

    total_harga int  NOT NULL,

    tanggal date  NOT NULL,

    Orders_order_id int  NOT NULL,

    Item_id_item int  NOT NULL,

    store_id_store int  NOT NULL,

    CONSTRAINT Order_Details_pk PRIMARY KEY (Order_Details_id)

);


-- Table: Orders

CREATE TABLE Orders (

    order_id int  NOT NULL,

    status boolean  NOT NULL,

    Total int  NOT NULL,

    waktu_order date  NOT NULL,

    waktu-pickup date  NOT NULL,

    User_id_user int  NOT NULL,

    CONSTRAINT Orders_pk PRIMARY KEY (order_id)

);


-- Table: User

CREATE TABLE User (

    id_user int  NOT NULL,

    nama_user varchar(256NOT NULL,

    email_user varchar(256NOT NULL,

    telfon_user int  NOT NULL,

    CONSTRAINT User_pk PRIMARY KEY (id_user)

);


-- Table: employees

CREATE TABLE employees (

    id_employee int  NOT NULL,

    nama_employee varchar(256NOT NULL,

    Jabatan varchar(256NOT NULL,

    store_id_store int  NOT NULL

);


-- Table: store

CREATE TABLE store (

    id_store int  NOT NULL,

    nama_store varchar(256NOT NULL,

    lokasi_store varchar(256NOT NULL,

    CONSTRAINT store_pk PRIMARY KEY (id_store)

);


-- foreign keys

-- Reference: Item_Feedback_Order_Details (table: Item_Feedback)

ALTER TABLE Item_Feedback ADD CONSTRAINT Item_Feedback_Order_Details FOREIGN KEY Item_Feedback_Order_Details (Order_Details_Order_Details_id)

    REFERENCES Order_Details (Order_Details_id);


-- Reference: Order_Details_Item (table: Order_Details)

ALTER TABLE Order_Details ADD CONSTRAINT Order_Details_Item FOREIGN KEY Order_Details_Item (Item_id_item)

    REFERENCES Item (id_item);


-- Reference: Order_Details_Orders (table: Order_Details)

ALTER TABLE Order_Details ADD CONSTRAINT Order_Details_Orders FOREIGN KEY Order_Details_Orders (Orders_order_id)

    REFERENCES Orders (order_id);


-- Reference: Order_Details_location_store (table: Order_Details)

ALTER TABLE Order_Details ADD CONSTRAINT Order_Details_location_store FOREIGN KEY Order_Details_location_store (store_id_store)

    REFERENCES store (id_store);


-- Reference: Orders_User (table: Orders)

ALTER TABLE Orders ADD CONSTRAINT Orders_User FOREIGN KEY Orders_User (User_id_user)

    REFERENCES User (id_user);


-- Reference: employees_store (table: employees)

ALTER TABLE employees ADD CONSTRAINT employees_store FOREIGN KEY employees_store (store_id_store)

    REFERENCES store (id_store);


-- End of file.




  • API Design :

  1. Order Service

- Create Order

  • Method: POST

  • Endpoint: /orders

  • Request Body:

  "customer_id": "123",

  "items": [

    {"product_id": "456", "quantity": 2}

  ]

}

  • Response: 201 Created

  • Get Order

  • Method: GET

  • Endpoint: /orders/{order_id}

  • Response: 200 OK

  "order_id": "789",

  "customer_id": "123",

  "order_date": "2023-07-02T10:00:00Z",

  "total_amount": 15.00,

  "status": "Completed",

  "items": [

    {"product_id": "456", "name": "Latte", "quantity": 2, "price": 7.50}

  ]

}


  • Update Order Status

  • Method: PUT

  • Endpoint: /orders/{order_id}/status

  • Request Body:

{

  "status": "Completed"

}

  • Response: 200 OK


  1. Stock Service

  • Update Inventory

  • Method: PUT

  • Request Body:

  • Response: 200 OK

{

  "stock": 100

}

  • Get Inventory

  • Method: PUT

  • Request Body:

  • Response: 200 OK

{

  "branch_id": "1",

  "inventory": [

    {"product_id": "456", "name": "Latte", "stock": 50},

    {"product_id": "789", "name": "Espresso", "stock": 30}

  ]

}


  1. Navigation Service


  • Get Nearby Stores

  • Method: GET

  • Endpoint: /stores/nearby

  • Request Parameters:

    • latitude

    • longitude

    • radius (optional)

  • Response: 200 OK

{

  "stores": [

    {

      "store_id": "1",

      "name": "Starbucks Central",

      "address": "123 Main St",

      "latitude": "40.712776",

      "longitude": "-74.005974",

      "services": ["takeaway", "dine-in"]

    }

  ]

}


  1. Warehouse Management Service (WMS)

  • Update Warehouse Inventory

  • Method: PUT

  • Endpoint: /warehouse/{warehouse_id}/inventory/{product_id}

  • Request Body:

{

  "quantity": 500

}

  • Response: 200 OK


  • Get Warehouse Inventory

  • Method: GET

  • Request Body:

{

  "warehouse_id": "1",

  "inventory": [

    {"product_id": "456", "name": "Latte", "quantity": 200},

    {"product_id": "789", "name": "Espresso", "quantity": 300}

  ]

}

  • Response: 200 OK


  1. Supply Chain Management Service (SCM)


  • Create Supply Order

  • Method: GET

  • Request Body:

{

  "supplier_id": "1",

  "items": [

    {"product_id": "456", "quantity": 1000}

  ]

}

  • Response: 200 OK


  • Get Supply Order

  • Method: GET

  • Request Body:

  • Response: 200 OK

{

  "order_id": "789",

  "supplier_id": "1",

  "order_date": "2023-07-02T10:00:00Z",

  "delivery_date": "2023-07-05T10:00:00Z",

  "status": "Pending",

  "items": [

    {"product_id": "456", "name": "Latte Beans", "quantity": 1000, "price": 7.50}

  ]

}

  1. Human Resource Information Service (HRIS)


  • Add Employee

  • Method: POST

  • Request Body:

{

  "name": "Ngurah Ervan",

  "position": "Barista",

  "salary": 30000000

}

  • Response: 201 Created


  • Get Employee

  • Method: GET

  • Response: 200 OK

{

  "employee_id": "123",

  "name": "Ngurah Ervan",

  "position": "Barista",

  "salary": 30000000,

  "hire_date": "2023-01-01"

}


  1. Quality Management Service (QMS)


  • Log Quality Inspection

  • Method: POST

  • Request Body : 

{

  "product_id": "456",

  "inspection_date": "2023-07-02",

  "result": "Pass",

  "comments": "No issues"

}


  • Get Quality Inspection

  • Method: GET

  • Response: 200 OK

{

  "inspection_id": "789",

  "product_id": "456",

  "inspection_date": "2023-07-02",

  "result": "Pass",

  "comments": "No issues"

}








  • UI Design

Berikut Merupakan link dari prototype ui design yang telah saya buat :https://www.figma.com/proto/2IwW0DkaU1G3fK9Luy3sL1/Untitled?node-id=4-529&t=qqllwkx0AwMtDfBR-1

  1. Home Page

Home Page merupakan halaman awal ketika user membuka aplikasi. Hanya ada 2 button yaitu button “login” dan button “face id” 

  1. Login Page

Login Page merupakan halaman ketika user telah mengklik button login. pada halaman ini user diminta mengisikan email dan password. Jika benar maka langsung diarahkan menuju halaman dashboard


  1. Dashboard Page

Dashboard Page merupakan halaman ketika user berhasil melakukan aktivitas login. pada halaman ini terdapat beberapa fitur salah satunya yaitu fitur “order”

  1. Orders Page

Orders page merupakan halaman ketika user ingin melakukan order makanan/minuman melalui aplikasi. terdapat berbagai section jenis makanan dan minuman pada halaman ini. Hanya ada 1 button add jadi jika diklik maka akan mengarah ke cart atau halaman order details


  1. Orders Details Page

Orders Details Page merupakan sebuah halaman ketika user mengklik picture dari item minuman tersebut. halaman ini akan memunculkan item lebih detail lagi mulai dari harga dan ukuran serta penjelasan minuman tersebut



  1. Checkout Page

Checkout Page merupakan sebuah halaman ketika user telah menambahkan beberapa barang pada halaman order. barang barang tersebut akan dijumlahkan dan mendapatkan total belanja. 

  1. PIN Page 

Ketika ingin melakukan pembayaran dari checkout page, maka user wajib untuk memasukan pin yang telah dibuat sebelumnya


  1. Buat Presentasi dan demo hasil rancangan Perangkat Lunak, kemudian upload di Youtube, dan isi lembar monitoring?

Jawaban :


https://youtu.be/7vmBxsyYFwM


Komentar

Postingan populer dari blog ini

Blog Ervan

Tugas 2 PBKK - Webcam Application

Tugas 1 PPB - Redesign Mobile Application