/web-music-ml

tugas basdat + pengantar sains data recommender & clustering

Primary LanguageJavaScriptMIT LicenseMIT

Web Music ML

GitHub Website

Projek ini dibuat untuk melengkapi tugas akhir semester untuk pelajaran Pengantar Sains Data dan Basis Data.

Website ini berisi dengan tabel dan juga CRUD untuk memodifikasi isi tabel. Adapun plot untuk clustering dan juga integrasi sistem rekomendasi untuk mendapatkan list lagu dengan tingkat kemiripan yang besar.

Teknologi

Tools

  • Node.js, sebagai runtime JavaScript
  • pnpm, sebagai package manager
  • netlify-cli, untuk menjalankan server functions API

Front-End

  • React, sebagai library user interface
  • Vite, untuk bundle dan build
  • UnoCSS, untuk class-based styling
  • Axios, untuk fetch data dari API

Back-End

  • Express, sebagai framework API
  • Sequelize, sebagai library object-relational mapping untuk database

Machine Learning

  • alike, sebagai library untuk penerapan k-Nearest Neighbour dan sistem rekomendasi
  • node-kmeans, modifikasi dari library node-kmeans dalam modul ES6 digunakan untuk mencari k-Means clustering
  • Plotly.js, untuk membuat plot dan rendering cluster

Hosting

Cara Penggunaan

  1. Clone repositori
git clone git@github.com:sglkc/web-music-ml.git
  1. Install dependency menggunakan pnpm
pnpm i
  1. Gunakan netlify untuk development
netlify dev

Environment

Gunakan environment jika ingin mengubah credential database tanpa mengubah kode.

database: process.env.DB_NAME || 'projekbasdat'
username: process.env.DB_USER || 'root'
password: process.env.DB_PASS || ''
host: process.env.DB_HOST || 'localhost'
port: process.env.DB_PORT || 3306

Dataset

Dataset statik terdapat di file dataset.js. Aplikasi yang bekerja hanya client-side dapat diakses pada branch static.

Migration

File untuk migrasi database dapat dibuka di migration.sql.

License

Distributed under the MIT License. See LICENSE for more information.