Experience after sharing 6 tips with friend

Ali husnain is my class fellow and he live in shahkot and I discussed 6 tips with him on Facebook. He was aware of first three tips because these tips are known b y every person who is finding or…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Software Architecture pada Website Justika

Sebagai generasi yang lahir pada era digitalisasi seperti sekarang, kita sangat sering berinteraksi dengan perangkat lunak atau yang biasa disebut dengan software, baik dalam bentuk website, mobile apps, maupun desktop apps. Namun, tahu kah kita bahwa dibalik aplikasi yang biasa kita pakai, terdapat sistem yang saling berhubungan yang menopang “berdirinya” suatu aplikasi perangkat lunak. Sistem yang saling berhubungan tersebut biasa kita sebuh dengan software architecture. Pada artikel ini, saya akan membahas lebih lanjut mengenai software architecture yang digunakan pada aplikasi website Justika yang dikerjakan oleh kelompok PPL saya.

Sebelum kita membahas lebih lanjut mengenai software architecture pada website Justika, kita harus tau terlebih dahulu sebenarnya apa yang dimaksud dengan software architecture. Menurut Martini Fowler, definisi dari software architecture adalah

Jika disederhanakan, software architecture adalah sebuah proses pendefinisian struktur dari suatu aplikasi yang memenuhi seluruh kriteria dari sisi teknis dan juga operasional, dengan mempertimbangkan aspek-aspek kualitas seperti performance, security, and manageability.

Selanjutnya, mari kita bahas software architecture pada aplikasi website Justika. Komponen struktural pada aplikasi kami terdiri dari frontend, backend, database, dan aplikasi eksternal. Berikut masing-masing spesifikasinya.

Frontend
Framework yang kami gunakan sebagai frontend untuk pengembangan website Justika adalah Next.js. Next.js merupakan salah satu framework dari React.js yang cocok untuk membuat website dengan fitur-fitur seperti dynamic pages routing, fast refresh, pre-rendering, dan lain-lain. Pada awalnya, saya cukup kesulitan untuk menggunakan framework ini karena belum pernah menggunakannya sebelumnya, seperti penggunaan react component, styled components, react props, static path, static props, dan lain-lain. Namun, seiring berjalanannya waktu, lama kelamaan saya merasa bahwa framework ini cukup menyenangkan untuk membangun frontend sebuah website.

Backend
Framework yang kami gunakan sebagai backend adalah Django REST API. Dengan menggunakan framework ini, pengaksesan data pada aplikasi kami bisa dilakukan melalui HTTP request ke database. Hal ini meyebabkan aplikasi kami menjadi lebih ringan karena data tidak disimpan di aplikasi. Ketika melakukan pengaksesan data, HTTP request ke backend akan me-return data dalam bentuk JSON. Di sini, Django REST API berperan untuk mengatur request-request ke database seperti GET, POST, PUT, dan DELETE, serta mereturn hasil yang kita inginkan. Sampai artikel ini ditulis, saya belum mendapatkan PBI dengan fitur backend, sehingga saya belum bisa menceritakan pengalaman saya dalam menggunakan Django REST API, tetapi saya sudah sering menggunakan Django untuk membuat website lain, seharusnya dengan pengalaman tersebut saya akan lebih mudah mempelajari Django REST API.

Database
Database yang kami gunakan untuk aplikasi kami adalah Postgresql. Hal ini kami pilih karena kami sudah cukup familiar dengan Postgresql sejak mengambil mata kuliah Basis Data pada semester lalu, sehingga tidak akan ada kendala berarti dalam menyusun database pada aplikasi yang sedang kami kembangkan.

Aplikasi Eksternal
Dikarenakan kami harus mengimplementasi fitur user premium (yang terkait dengan pembayaran), Justika menginstruksikan kami untuk mengintegrasikan program yang kami buat dengan Midtrans Payment Gateway. Midtrans adalah sebuah payment gateway untuk mempermudah proses pembayaran secara online,sehingga developer tidak perlu mengimplementasikan fitur pembayaran dari nol. Cukup dengan mengintegrasikan Midtrans,aplikasi yang kami kembangkan bisa memiliki fitur pembayaran dan bisa mendapatkan status pengguna apakah sudah bayar atau belum.

Add a comment

Related posts:

Mamba

5..4..3..2.. The clock ticks down, you give a little shimmy of the shoulders and you fade away, shooting that old assignment into the trash can over two of your classmates. As the paper floats…

Golang Web APIs with GORM

Robert Greiseimer has called Go the language of cloud computing and while it’s no secret that Go has strong features that support the needs of microservice architecture, distributed systems, and…

Why basement waterproofing is necessary

Water damage and difficulties in the basements are unfortunate realities. However, basement waterproofing can stop leaks caused by heavy rain, damaged