ShaneAlexander02 / pso-chat

perjuangan 3 orang menuju nilai PSO yang baik
0 stars 0 forks source link

Deskripsi Proyek Pada pengerjaan proyek final kali ini, kami membangun aplikasi berupa messenger webapp real-time yang handal dan mudah digunakan. Messenger webapp ini dirancang untuk memenuhi kebutuhan komunikasi instan dan kolaboratif secara real-time bagi individu. webapp ini dirancang untuk memberikan pengalaman pengguna yang mulus dan intuitif. Dengan mengadopsi framework Next.js dan bahasa pemrograman TypeScript, aplikasi ini akan menghadirkan performa yang optimal, skalabilitas yang tinggi, dan kemudahan pengembangan. Aplikasi ini akan menawarkan fitur utama seperti pengiriman pesan instan, penambahan teman, sinkronisasi akun dengan akun google, dan pengaturan tema tampilan app, sehingga menjadi platform komunikasi yang ideal untuk berbagai kebutuhan.

Secara keseluruhan, proses arsitektur DevOps kami dapat digambarkan sebagai berikut. image

  1. Pembuatan Version control setup dan template Next.js Pembuatan repo dan juga template next.js sebagai kanvas untuk kode image

  2. Konfigurasi CI (Continuous Integration) Dalam proses ini, kami melakukan keseluruhan proses pipeline di dalam Github Action yang terdapat di .github/workflow/terraform.yml image image

  3. Konfigurasi Testing Dalam proses ini, kami membuat proses testing terkait kode dengan JEST yang dapat dilihat di folder test. kode testing yang digunakan untuk memastin redirect sudah tepat untuk user yan teloh login. image

  4. Dalam proses kontainerisasi kode, kami menggunakan DockerHub untuk hal tersebut. DockerHub merupakan alat yang berguna untuk membungkus seluruh kode yang dibutuhkan sehingga dapat dikirim ke alat deployment kami, yaitu AWS. image

  5. Setelah itu, kami membuat instance menggunakan terraform sebagai IaC dengan membuat VPC dengan security group yang sesuai, membuat sshkey unik setiap run, dan menyamakan settingan. Output dari tahap ini yaitu suatu sshkey yang dapat ditarik saat ingin push docker ke instance tersebut dan juga unique IP.

  6. Tahap terakhir yaitu menggunakan github action kami untuk mendorong docker ke instance yang baru dibuat. Lalu melakukan DAST dengan Soos serta monitoring dengan cloudwatch.

Jika ingin mencoba kode, pull lalu masukan secrets anda sendiri pada terraform.yml dan soos-dast.yml sesuai dengan keperluan lalu masukin detil - detil yang benar untuk di file main.tf menyesuikan instance yang ingin dibuat. Terakhr sesuaikan dockerfile dengan versi node serta instalasi lainnya jika diperlukan.