Website ini adalah website yang menyerupai fungsi dari platform layanan musik digital SPOTIFY dimana pengguna dapat menggunakan website ini untuk menghasilkan playlist musik sendiri. Playlist nya bisa disesuaikan dengan keinginan kalian sesuai dengan preferensi kegiatan yang dilakukan untuk meningkatkan mood dan perasaan senang ketika belajar, bekerja dan lainnya.
Ini adalah Hasil Web App dari proses perjalanan belajar saya di kegiatan Generasi Gigih 2021 yang diselenggarakan oleh Gojek dan Yayasan Anak Bangsa Bisa (YABB) dan bersyukur banget bisa mengikuti dan berpartisipasi secara maksimal di kelas teknikal, kelas bahasa inggris dan kelas soft skill (Melalui Seminar XL Future Leader)
Terima kasih banyak atas kesempatan kegiatannya, awesome experience for me Gojek dan Yayasan Anak Bangsa Bisa (YABB) ππ₯°
Website ini dibangun menggunakan React JS, Library Redux, Chakra UI dan lainnya. Berikut daftar detailnya yaa β¬οΈ
- React JS version
17.0.2
untuk membangun Web App ini - React Redux version
7.2.4
library untuk pengelolaan data dan implementasi dari global state - React Router DOM version
5.2.0
library untuk pengelolaan routing dan perpindahan page pada Web App - Axios version
0.21.1
library untuk Promise-based HTTP client pada JavaScript ketika melakukan pemanggilan Endpoint API - Chakra UI React version
1.6.5
UI Component Library untuk mempercepat dan mempersingkat proses development tampilan interface pada Web App - Typescript version
4.3.5
library typed superset of JavaScript yang dapat dicompiles pada plain JavaScript untuk memperbaiki struktur, keamanan serta maintainable dari kode aplikasi yang kita buat - React Hook Form version
7.12.2
library untuk memvalidasi masukan (input) pengguna ketika melakukan pembuatan Playlist
- Sisi Teknikal
- Keterbatasan pengetahuan fundamental pada Javascript dan implementasi dari Typescript
- Pengalaman pertama membangun Web App dari scratch dan menggunakan API Public dari SPOTIFY
- Pengetahuan Typescript yang masih sangat terbatas jadi harus tambah semangat untuk mempelajarinya
- Sisi Implementasi React JS
- Analisa struktur folder dan kode yang efisien dan tepat
- Penulisan (naming) variable, components dan function yang baik dan harus konsisten untuk memudahkan pengembangannya
- Fitur yang diberikan sangat challanging dan membutuhkan analisa yang baik dari implementasi UInya, proses perpindahan datanya dan components mana yang harus reusable
- Kesulitan ketika memulai implementasi Typescript karena banyak hal baru yang baru saya ketahui dan belum tahu implementasi yang baik dan tepat untuk studi kasus kode yang saya bangun
- Kesulitan melakukan testing dari sisi front end menggunakan React Testing Library, Mock API dan JEST. Karena kita harus membuat suatu test case dan menyerupai kondisi asli dari web app yang dibangun dalam file Testnya.
- Fitur Login menggunakan akun Spotify sendiri yang akan menghasilkan Kode Akses
- Fitur Mencari Track Song dengan menuliskan kata atau kalimat yang berhubungan dengan Track Song tersebut
- Fitur Select dan Deselect Track Song sesuai dengan Preferensi Track yang kita inginkan.
- Fitur Membuat Playlist dari Track yang telah dipilih sebelumnya
- Fitur melihat daftar Playlist dari pengguna yang telah dibuat sebelumnya
- Fitur melihat daftar Track Song dari Playlist pengguna yang ingin dilihat, seperti data:
- Judul
- Album
- Durasi Lagu
- Button Play lagu β‘οΈ langsung mengakses Track lagu yang ingin dimainkan pada aplikasi SPOTIFY
- Fitur menampilkan data pengguna (Nama dan Foto Profil Pengguna)
- Fitur Unfollow (Hapus) Playlist Pengguna
- Pertama kalian bisa melakukan cloning Web App ini menggunakan URL berikut
https://github.com/idadhamz/generasi-gigih-homework.git
- Mengakses kode Web App di Visual Studio Code dan membuka Terminal (Command Prompt)
- Lakukan installasi modules (akan muncul folder
node_modules
) yang digunakan pada Web App ini dengan menjalankanNPM INSTALL
atauYARN ADD
- Setelah melakukan installasi, buat file dengan nama
.env.local
sebagai lokasi environment SPOTIFY ID, SPOTIFY KEY dan BASE URL kemudian isi sesuai dengan SPOTIFY API ID, KEY akun DEVELOPER API SPOTIFY pengguna anda dan BASE URL contohnya domain anda atau localhost yaitulocalhost:3000
- Jalankan Web App pada server LOCAL dengan menjalankan
NPM RUN START
atauYARN START
dan tunggu hingga proses running di server local berhasil. Kemudian akseslocalhost:3000
atau port lain sesuai dengan hasil runningnya.
dan taraa Web App berhasil dijalankan pada server local hingga tampil seperti contoh dibawah ini β¬οΈ
Hasil Web App Spotify Clone Link WebsiteWeb App Spotify Clone ini masih terus dilakukan pengembangan dan tambahan tentang penulisan kode yang baik dan efektif juga penambahan fitur yang lebih lengkap dan kompleks.
Terbuka untuk pengembangan Open Source juga jika kalian β¬οΈ
- Menemukan error atau bugs
- Refactor code dengan menerapkan Clean Code yang lebih baik
- Atau ingin adanya tambahan feature yang kalian perlukan
Pertanyaan lebih lanjut terkait project Web App ini atau hal lain dapat contact saya melalui π Personal Website ya ππ
Any feedback is welcome, you can sumbit issues/feedback here.
Licensed under MIT License, Copyright (c) 2021 Dadi Ilham S