Sproad adalah aplikasi manajemen proyek kanban-based yang dibangun dengan backend Go Fiber dan frontend React + Vite. Repositori ini berisi layanan API, antarmuka pengguna, dan dukungan Docker Compose untuk jalankan seluruh stack secara lokal.
back_end_server/- Backend service menggunakan Go, Fiber, GORM, dan PostgreSQL.front_end_client/- Frontend aplikasi menggunakan React, Vite, dan Material UI.docker-compose.yaml- Definisi Docker Compose untuk API, frontend, PostgreSQL, dan pgAdmin.servers.json- Konfigurasi server untuk pgAdmin.
- Autentikasi JWT
- Manajemen pengguna
- Pembuatan board kolaboratif
- List dan card yang bisa diatur
- Penugasan assignee ke kartu
- Attachment kartu
- PostgreSQL sebagai database
- Pengembangan lokal dengan Docker Compose
- Go 1.25
- Fiber v3
- GORM
- PostgreSQL 15
- React 19
- Vite
- Material UI
- Docker dan Docker Compose
- Docker Engine
- Docker Compose
- Go (jika ingin jalankan backend tanpa Docker)
- Node.js dan npm/yarn (jika ingin jalankan frontend tanpa Docker)
- Pastikan Docker sudah berjalan.
- Jalankan perintah berikut di root repository:
docker compose up --build- Akses aplikasi berikut:
- Backend API:
http://localhost:3030 - Frontend:
http://localhost:5173 - pgAdmin:
http://localhost:5050
- Masuk ke folder backend:
cd back_end_server- Install dependency Go:
go mod download- Jalankan server:
go run main.goBackend akan berjalan di http://localhost:3030.
- Masuk ke folder frontend:
cd front_end_client- Install dependency:
npm install- Jalankan development server:
npm run dev -- --host 0.0.0.0Frontend akan berjalan di http://localhost:5173.
Untuk pengembangan lokal, backend membaca variabel environment dari file .env di back_end_server/.
Contoh variabel yang umum digunakan:
PORT=3030
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=secret
DB_NAME=mydb
ENV=development
JWT_SECRET=your_jwt_secret- Docker Compose sudah mengatur container PostgreSQL dan pgAdmin.
front_end_clientmenggunakan environment default Vite untuk development.- Pastikan port
3030,5173, dan5050tidak digunakan oleh layanan lain.