https://github.com/krisfur/golang-rest-api
An interactive web app that demonstrates concurrent KMeans clustering, GO backend and Node.js frontend.
https://github.com/krisfur/golang-rest-api
clustering golang goroutines kmeans-clustering nodejs rest-api webapp
Last synced: about 2 months ago
JSON representation
An interactive web app that demonstrates concurrent KMeans clustering, GO backend and Node.js frontend.
- Host: GitHub
- URL: https://github.com/krisfur/golang-rest-api
- Owner: krisfur
- Created: 2025-06-02T23:07:20.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-07T22:18:39.000Z (about 1 year ago)
- Last Synced: 2025-06-07T23:22:14.102Z (about 1 year ago)
- Topics: clustering, golang, goroutines, kmeans-clustering, nodejs, rest-api, webapp
- Language: Go
- Homepage:
- Size: 344 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Concurrent KMeans Lab
 [](https://go.dev/)  [](https://nodejs.org/)
An interactive web app that demonstrates **concurrent KMeans clustering** in Go.

## 🚀 Features
- **Go Backend:** Concurrent clustering of datasets using goroutines
- **Frontend:** Node.js with vanilla JavaScript and Chart.js
- **Responsive Layout:** Charts scale nicely to different screen sizes
- **Catppuccin Mocha Theme:** Visually appealing, dark-mode friendly
## ⚙️ How it works
- 9 unique datasets generated randomly
- Dynamic selection of cluster count (K)
- Run clustering on existing data or generate new data with a single click
- Visual comparison of clustering results in a 3x3 responsive grid
## 🛠️ Getting Started
1. Clone the repo:
```bash
git clone https://github.com/YOUR_USERNAME/concurrent-kmeans-lab.git
cd concurrent-kmeans-lab
```
2. Build and run the Go backend:
```bash
cd api
go run main.go
```
3. Start the frontend:
```bash
cd frontend
npm install
npm start
```
4. Visit [http://localhost:3000](http://localhost:3000) in your browser.
## 📝 License
MIT License.