FP - PBKK A

 Nama : Widian Sasi Disertasiani

NRP: 5025211024

PBKK A

1. Buatlah deskribsi studi kasus aplikasi ditinjau dari MVC nya(individu)

Model (M):

- Database: RtChat(nama aplikasi) menyimpan informasi pengguna, pesan, dan data aplikasi lainnya dalam database terpusat. Setiap pengguna memiliki profil yang mencakup riwayat pesan dan pengaturan pribadi.

 - Logika Bisnis: Aplikasi memiliki logika bisnis untuk otentikasi pengguna melalui sistem login aman.

View (V):

- Antarmuka Pengguna (UI): Tampilan chat yang bersih dan intuitif memungkinkan pengguna untuk melihat dan mengirim pesan dengan mudah. Desain responsif memastikan pengalaman yang baik di berbagai perangkat.

Controller (C):

- Manajemen Sesi dan Koneksi: Kontroler mengelola koneksi pengguna dengan menggunakan WebSockets untuk komunikasi real-time. Ini memastikan pengiriman pesan yang instan dan efisien.

- Kontrol Alur Aplikasi: Pengguna dapat mengirim dan menerima pesan, membuat grup obrolan, dan mengelola kontak. Kontroler juga mengurus otentikasi pengguna dan memastikan akses yang aman ke fitur-fitur tertentu.

Real-time Communication:

-Teknologi Push Notification: Notifikasi push dikirim ke perangkat pengguna saat mereka menerima pesan baru, memastikan respons cepat dan pembaruan real-time.

  Keamanan dan Privasi:

-Enkripsi End-to-End: Semua pesan dienkripsi end-to-end untuk menjaga keamanan dan privasi pengguna.

- Otentikasi dan Otorisasi: Sistem login yang aman memastikan bahwa hanya pengguna yang diautentikasi dapat mengakses aplikasi dan fitur-fiturnya.


2. Buatlah rancangan umum arsitektur atau fitur yang ada dalam aplikasi 

 Rancangan Arsitektur:

1. Client-Side

   - User Interface (UI):Menangani tampilan antarmuka pengguna, termasuk fitur-fitur chat, pembaruan biodata, pengaturan foto profil, daftar kontak, dan manajemen blokir.

   - Client Logic: Melibatkan kontrol alur aplikasi di sisi klien, seperti pengaturan routing, penanganan input pengguna, dan manajemen UI state.


2. Server-Side:

   - Application Server: Menangani logika bisnis, manajemen pengguna, manajemen pesan, dan pemrosesan permintaan dari klien.

   - Database Server: Menyimpan data pengguna, pesan, dan informasi terkait dalam database terpusat.


3. Real-time Communication:

   - WebSocket Server: Digunakan untuk memfasilitasi komunikasi real-time antara klien dan server, memungkinkan pengiriman pesan yang instan.


1. Fitur Chat:

   - Pengiriman dan penerimaan pesan teks secara real-time.

   - Pengelompokan pesan berdasarkan percakapan.

   - Notifikasi push untuk pesan baru.


2. Fitur Mengupdate Biodata User:

   - Form untuk mengedit atau memperbarui informasi profil pengguna, seperti nama, status, atau informasi tambahan lainnya.

   - Verifikasi perubahan biodata sebelum disimpan.


3. Fitur Mengatur Foto Profil:

   - Pilihan untuk mengganti atau mengunggah foto profil baru.

   - Penyimpanan foto profil secara aman dan optimal.


4. Fitur Melakukan Blockir dan Unblock Nomor:

   - Daftar kontak yang memungkinkan pengguna untuk memilih nomor untuk diblokir atau di-unblock.

   - Notifikasi atau indikator ketika pengguna memblokir atau unblock nomor.


Keamanan dan Privasi:


1. Enkripsi End-to-End:

   - Mengamankan isi pesan dengan enkripsi end-to-end untuk melindungi privasi pengguna.


2. Otentikasi Pengguna:

   - Sistem login yang aman dengan otentikasi dua faktor untuk melindungi akun pengguna.


3. Rancang desain databasenya.

CREATE TABLE `block_user` (
  `blocked_from` varchar(10) COLLATE utf8mb4_bin NOT NULL,
  `blocked_to` varchar(10) COLLATE utf8mb4_bin NOT NULL,
  `time` datetime NOT NULL
)

CREATE TABLE `user` (
  `id` int(20) NOT NULL,
  `unique_id` varchar(20) CHARACTER SET latin1 NOT NULL,
  `user_fname` varchar(50) CHARACTER SET latin1 NOT NULL,
  `user_lname` varchar(30) CHARACTER SET latin1 NOT NULL,
  `user_email` varchar(50) CHARACTER SET latin1 NOT NULL,
  `bio` varchar(100) CHARACTER SET latin1 NOT NULL,
  `created_at` varchar(20) COLLATE utf8mb4_bin NOT NULL,
  `dob` varchar(20) COLLATE utf8mb4_bin NOT NULL,
  `phone` varchar(20) COLLATE utf8mb4_bin NOT NULL,
  `address` varchar(200) COLLATE utf8mb4_bin NOT NULL,
  `user_pass` varchar(20) CHARACTER SET latin1 NOT NULL,
  `user_avtar` varchar(200) CHARACTER SET latin1 NOT NULL,
  `user_status` varchar(10) CHARACTER SET latin1 NOT NULL,
  `last_logout` varchar(30) CHARACTER SET latin1 NOT NULL
)
CREATE TABLE `user_messages` (
  `time` datetime(6) NOT NULL,
  `sender_message_id` varchar(20) CHARACTER SET latin1 NOT NULL,
  `receiver_message_id` varchar(20) CHARACTER SET latin1 NOT NULL,
  `message` varchar(500) CHARACTER SET latin1 NOT NULL
)

4. 



 5. Tentukan Control yang akan mengandle logika back end.
    Menggunakan CodeIgniter sebagai controller dan DBMS sebagai penyimpanan data.

6. 

Repository: chat

paper:





Komentar

Postingan populer dari blog ini

Tugas 2 - PPB D

Tugas 5 - Simple Calculator