8000 GitHub - muhammadalief19/test_toefl
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

muhammadalief19/test_toefl

Repository files navigation

Project Charter Container Based App
Mobile Apps e-TOEFL

Dosen Pengampu : Dr. Ferry Astika Saputra, S.T., M.Sc.


Logo PENS

Disusun Oleh :
Kelompok 3 dan 5

No Nama NRP
1 Gede Hari Yoga Nanda 3122500005
2 Arsyita Devanaya Arianto 3122500008
3 Ali Azhar 3122500011
4 Mahendra Khibrah R. S 3122500013
5 Mayada Azizah 3122500015
6 Gandi Rukmaning Ayu 3122500016
7 Adam Rasyid Nurmuhammad 3122500018
8 Adinda Zahra Q 3122500020
9 M Reza Muktasib 3122500024
10 Adira Callysta 3122500025
11 Shofira Izza N 3122500026

Politeknik Elektronika Negeri Surabaya
Departemen Teknik Informatika Dan Komputer
Program Studi Teknik Informatika
2023/2024

Daftar Isi


Abstrak

E-TOEFL adalah aplikasi mobile berbasis Flutter yang dirancang untuk membantu mahasiswa PENS dalam mempersiapkan tes e-TOEFL. Aplikasi ini menawarkan pengalaman belajar yang dipersonalisasi, memungkinkan pengguna memilih topik latihan dan memantau skor simulasi. Backend aplikasi menggunakan Laravel untuk autentikasi dan berinteraksi dengan MongoDB NoSQL yang menyimpan data dan melakukan operasi CRUD. Docker Engine digunakan untuk mengembangkan, mengirimkan, dan menjalankan aplikasi dalam kontainer, memastikan portabilitas, isolasi, dan kemudahan deployment. Desain sistem meliputi Storage Server pada port 3000 untuk penyimpanan file, Web Server Laravel pada port 80 untuk logika bisnis dan komunikasi dengan Storage Server dan MongoDB, serta MongoDB pada port 27017 untuk penyimpanan data aplikasi. Docker Engine menghubungkan antarmuka pengguna mobile dengan layanan backend. Tahapan pelaksanaan mencakup perencanaan dan analisis, desain dan prototyping, pengembangan dan implementasi, serta deployment dan pemeliharaan. Pada sistem testing terdapat pengujian unit, integrasi, sistem, dan uji pengguna. Docker memastikan konsistensi lingkungan pengujian. Aplikasi e-TOEFL diharapkan meningkatkan aksesibilitas dan efektivitas persiapan tes e-TOEFL bagi mahasiswa dengan sistem backend yang handal dan terkontainerisasi.

Keywords: e-toefl, container, docker

Tahap Pelaksanaan

Proyek berlangsung selama 6 minggu, mulai dari tanggal 25 April 2024 hingga 30 Mei 2024. Dimana tahapan pelaksanaannya mencakup perencanaan dan analisis hingga pengujian.

Pendahuluan

Docker adalah platform perangkat lunak yang memudahkan pembuatan, pengujian, dan penerapan aplikasi dengan cepat. Docker mengemas perangkat lunak ke dalam kontainer yang berisi semua kebutuhan perangkat lunak agar bisa berfungsi, seperti pustaka, alat sistem, kode, dan runtime. Dengan Docker, kita dapat dengan mudah menerapkan dan menskalakan aplikasi di berbagai lingkungan. Docker memiliki beberapa manfaat yaitu, portabilitas aplikasi yang dapat dijalankan di lingkungan apapun tanpa perlu mengubah konfigurasi, isolasi yang memastikan setiap kontainer berjalan terpisah dan aman dari aplikasi lain, kemudahan deployment dan skalabilitas aplikasi untuk menambah atau mengurangi instance kontainer dengan mudah.

Pada aplikasi eTOEFL, kami menggunakan Storage Server untuk menyimpan dan mengambil data, seperti file atau dokumen besar. Kami juga memanfaatkan Web Server yang menggunakan framework Laravel untuk mengelola request pengguna serta berinteraksi dengan Storage Server dan MongoDB Database untuk operasi CRUD. Selanjutnya, MongoDB Database digunakan untuk menyimpan data aplikasi. Terakhir, Docker Engine dipakai untuk mengembangkan, mmengirimkan dan menjalankan aplikasi dalam kontainer. Kemudian, Docker akan menghubungkan antarmuka pengguna pada perangkat mobile dengan backend seperti Web Server, MongoDB, dan Storage Server.

Ruang Lingkup

eTOEFL adalah aplikasi berbasis mobile yang dikembangkan dengan Flutter dan memungkinkan pengguna untuk mengakses berbagai fitur dengan mudah. Kemudian, backend aplikasi menggunakan framework Laravel untuk mengatur autentikasi pengguna dan berinteraksi dengan database untuk penyimpanan dan pengambilan data. Untuk database aplikasi menggunakan MongoDB NoSQL yang berfungsi menyimpan dan mengambil data dari database serta memberikan respons terhadap permintaan pengguna. Terakhir, Server berfungsi sebagai perantara antara aplikasi mobile, backend, dan database. Server juga menerima request dari pengguna, kemudian meneruskannya ke backend dan database yang nantinya akan mengirimkan kembali respons kepada pengguna

Desain Sistem

1 (1)

  1. Storage Server berjalan pada port 3000 yang bertanggung jawab untuk menyimpan dan mengambil data, khususnya file atau dokumen besar yang diperlukan oleh aplikasi.

  2. Web Server Laravel berjalan pada port 80, dikembangkan dengan framework laravel dengan peran sebagai pusat logika bisnis aplikasi dan mengelola permintaan dari frontend. Web server laravel bekerja untuk menerima permintaan dari docker engine, berkomunikasi dengan storage server untuk manajemen file, dan menjalankan operasi CRUD ke MongoDB database.

  3. MongoDB Database berjalan pada port 27017 dan menerima permintaan dari web server larave melalui Docker Engine. MongoDB database bertugas untuk menyimpan data aplikasi dalam format NoSQL dan menjalankan operasi CRUD yang diminta oleh web server Laravel.

  4. Docker Engine berperan sebagai perantara antara Mobile FE dan layanan backend seperti web server laravel, storage server, dan MongoDB database. Docker Engine berkomunikasi dengan Mobile FE melalui layanan backend yang sesuai, menerima permintaan, dan mengirimkan response.

  5. Mobile FE berfungsi untuk menyajikan antarmuka pengguna yang dapat diakses melalui perangkat mobile. Mobile FE berinteraksi dengan Docker Engine untuk mengakses layanan backend dan menerima response.

Tim dan Tugas

Link Backlog: https://docs.google.com/spreadsheets/d/1H3uiufmB5BPQeNi5vA3qUKwm-h5uV2LpxK4VTh3sPIg/edit?usp=sharing

8000
No Bakclog ToDo Eksekutor
1 Mobile HomePage Slicing Card Target Score Arsyita Devanaya Arianto
Consume Api Target Score Arsyita Devanaya Arianto
Slicing Chart Pie Lingkaran Mahendra Khibrah R. S
Consume Rank User M Reza Muktasib
Slicing Card Navigasi Rank Ali Azhar P.B
Consume For You List M Reza Muktasib
Slicing For You Card Arsyita Devanaya Arianto
Slicing Simulation Card Arsyita Devanaya Arianto
Consume Learning Path Category Quiz M Reza Muktasib
Slicing Learning Path Card Arsyita Devanaya Arianto
Design Card Set Target/td> Gandi Rukmaning Ayu, Adinda Zahra Q, Mayada Azizah
Design Chart Pie Lingkaran Gandi Rukmaning Ayu
Design For You Card Mayada Azizah, Adinda Zahra Q
Design Learning Path Card Gandi Rukmaning Ayu, Mayada Azizah, Adinda Zahra Q
Design Simulation Card Adinda Zahra Q, Adinda Zahra Q
Slicing Bottom Nav Bar M Reza Muktasib
2 Mobile Bookmark Slicing Card Bookmark Adam Rasyid Nurmuhammad
Consume Bookmark List Mahendra Khibrah R. S
Design Card Bookmark Mayada Azizah, Adinda Zahra Q
3 Mobile Profile Design Profile Page Gandi Rukmaning Ayu
Consume Profile User Shofira Izza N
Slicing Profile Page Arsyita Devanaya Arianto
4 Target Score Slicing Target Score List Adam Rasyid Nurmuhammad
Consume Target Score List Mahendra Khibrah R. S
Design Target Score Page Mayada Azizah, Adinda Zahra Q
5 Simulation Test List Page Slicing Test List Page Mahendra Khibrah R. S
Consume List Test Page Mahendra Khibrah R. S
6 Simulation Test Page Slicing Bottom Nav Bar Mahendra Khibrah R. S
Design Bottom Nav Bar Mayada Azizah, Adinda Zahra Q
Slicing List Soal Bottom Sheet Mahendra Khibrah R. S
Design List Soal Bottom Sheet Mayada Azizah, Adinda Zahra Q
Implementasi Logic Test Question Mahendra Khibrah R. S
Consume Test Question Option dan Key Mahendra Khibrah R. S
Implementasi Logic Test Session Mahendra Khibrah R. S
Membuat State Management Test Mahendra Khibrah R. S
Slicing Test Result Adam Rasyid Nurmuhammad
Logic Test Result Mahendra Khibrah R. S
7 Leaderboard Design Leaderboard Gandi Rukmaning Ayu, Mayada Azizah
Slicing Leaderboard Gandi Rukmaning Ayu
Consume Leaderboard Arsyita Devanaya Arianto
8 Quiz List Page Design Quiz List Page Gandi Rukmaning Ayu
Slicing Quiz List Page Arsyita Devanaya Arianto, M Reza Muktasib
Consume Quiz List Page M Reza Muktasib
9 Quiz Page Consume Quiz Question M Reza Muktasib
Logic Take Quiz M Reza Muktasib
Logic Result M Reza Muktasib
10 Game Page Desain Layout Game Path Gandi Rukmaning Ayu
Slicing Layout Game Path M Reza Muktasib
Create Logic Path Background M Reza Muktasib

Tahapan Pelaksaan

tahapan-pelaksanaan (2)

Implementasi

Tahap 1: Perencanaan & Analisis (Minggu 1-2)

Tujuan & Sasaran: Output dari tahap ini adalah dokumen yang berisi tujuan dan sasaran implementasi E-TOEFL. Dokumen ini harus jelas, terukur, dapat dicapai, relevan, dan berjangka waktu (SMART).
Mengidentifikasi Target Pengguna: Output dari tahap ini adalah profil target pengguna E-TOEFL. Profil ini harus mencakup informasi demografis, kebutuhan, dan ekspektasi pengguna.
Gamifikasi: Output dari tahap ini adalah desain gamifikasi yang akan diterapkan pada E-TOEFL. Desain ini harus menarik dan memotivasi pengguna untuk menyelesaikan tes.
Rancangan Database: Output dari tahap ini adalah rancangan database yang akan digunakan untuk menyimpan data pengguna, hasil tes, dan informasi lainnya.
Pemilihan Teknologi: Output dari tahap ini adalah pilihan teknologi yang akan digunakan untuk mengembangkan E-TOEFL. Pilihan teknologi ini harus mempertimbangkan faktor-faktor seperti skalabilitas, keamanan, dan kemudahan penggunaan.

Tahap 2: Desain & Prototyping (Minggu 3-4)

Desain UI/UX: Output dari tahap ini adalah desain antarmuka pengguna (UI) dan pengalaman pengguna (UX) E-TOEFL. Desain ini harus intuitif, mudah digunakan, dan estetis.
Pengembangan Konten: Output dari tahap ini adalah konten tes E-TOEFL. Konten ini harus sesuai dengan standar internasional dan relevan dengan kebutuhan target pengguna.

Tahap 3: Pengembangan & Implementasi (Minggu 5-6)

Pengembangan FE Mobile: Output dari tahap ini adalah aplikasi mobile E-TOEFL. Aplikasi ini harus memungkinkan pengguna untuk mengikuti tes dari perangkat mobile mereka.
Pengembangan BE: Output dari tahap ini adalah backend E-TOEFL. Backend ini harus bertanggung jawab untuk memproses data pengguna, hasil tes, dan informasi lainnya.
Containerization Docker: Output dari tahap ini adalah container Docker untuk E-TOEFL. Container ini akan memungkinkan E-TOEFL untuk dijalankan dengan mudah di berbagai lingkungan.

Tahap 4: Testing & Deployment (Minggu 7-8)

Testing Installation: Output dari tahap ini adalah instalasi E-TOEFL di lingkungan produksi. Instalasi ini harus memastikan bahwa E-TOEFL berjalan dengan lancar dan aman.
Functional Testing: Output dari tahap ini adalah pengujian fungsional E-TOEFL. Pengujian ini harus memastikan bahwa semua fitur E-TOEFL berfungsi dengan benar.
Uji Coba: Output dari tahap ini adalah hasil uji coba E-TOEFL dengan pengguna nyata. Uji coba ini harus mengidentifikasi masalah dan bug yang masih ada.
Peluncuran: Output dari tahap ini adalah peluncuran E-TOEFL ke publik. Peluncuran ini harus dilakukan dengan strategi yang tepat untuk memastikan kelancaran dan kesuksesan.

Sistem testing

Fungsional Testing API

image

Kesimpulan

Melalui tahapan pelaksanaan ini, diharapkan aplikasi e-TOEFL dapat membantu mahasiswa PENS dalam mempersiapkan diri menghadapi tes e-TOEFL dengan lebih baik, memberikan pengalaman belajar yang dipersonalisasi, serta membuat tes e-TOEFL lebih mudah diakses. Implementasi teknologi yang tepat serta pengujian yang komprehensif akan memastikan aplikasi berjalan dengan baik dan memenuhi kebutuhan pengguna.

Penerapan teknologi Docker Engine dalam aplikasi E-TOEFL menghadirkan banyak keuntungan. Konsistensi dan efisiensi operasional terjamin, deployment dan skalabilitas menjadi mudah, serta keamanan dan keandalan aplikasi terjaga. Docker Engine mengisolasi aplikasi, membuatnya aman dan terlindungi. Image yang tidak dapat diubah memastikan aplikasi selalu berjalan dalam kondisi yang ideal. Keunggulan ini menjadikan Docker Engine sebagai alat penting dalam memastikan kelancaran dan keandalan E-TOEFL.

Keunggulan utama dari penggunaan Docker dalam proyek ini meliputi:

  • Portabilitas: Aplikasi dapat berjalan di berbagai lingkungan tanpa perlu mengubah konfigurasi, sehingga memudahkan proses pengembangan dan deployment.
  • Isolasi Lingkungan: Setiap container berjalan terpisah, yang memastikan tidak ada konflik antara layanan yang berbeda dan meningkatkan keamanan
  • Skalabilitas: Dengan Docker, menambah atau mengurangi instance container dapat dilakukan dengan mudah sesuai kebutuhan, memungkinkan aplikasi untuk mengelola beban kerja yang dinamis
  • Efisiensi: Docker memungkinkan pemanfaatan sumber daya yang lebih baik dan meminimalkan overhead yang biasanya terkait dengan virtualisasi tradisional.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0