Prompt file imported from 82080038/sprin (
.windsurf/workflows/sprin-setup.md). Copyright stays with the author.
SPRIN Setup Workflow
Workflow untuk setup dan konfigurasi aplikasi SPRIN (POLRES Samosir Personil Management System).
Prerequisites
- XAMPP terinstall di
/opt/lampp - Repository SPRIN di
/opt/lampp/htdocs/sprint - MySQL password:
root
Setup Steps
1. Sync Repository
cd /opt/lampp/htdocs/sprint
git fetch origin
git reset --hard origin/master
git clean -fd
2. Start XAMPP Services
sudo /opt/lampp/lampp start
3. Setup Database
// turbo
/opt/lampp/bin/mysql -u root -proot -e "DROP DATABASE IF EXISTS bagops; CREATE DATABASE bagops CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
/opt/lampp/bin/mysql -u root -proot bagops < /opt/lampp/htdocs/sprint/database/bagops.sql
4. Verify Database
// turbo
/opt/lampp/bin/mysql -u root -proot bagops -e "SHOW TABLES; SELECT COUNT(*) as total_personil FROM personil;"
4. Access Application
- URL: http://localhost/sprint
- Login: http://localhost/sprint/login.php
- Username:
bagops - Password:
admin123 - Version: SPRIN v1.2.0
- Features: Enhanced UI/UX, Auto-generation, Card-based layouts
Database Credentials
- Host: localhost
- Database: bagops
- User: root
- Password: root
File Structure
/opt/lampp/htdocs/sprint/
├── api/ # API endpoints (21 files)
├── core/ # Core classes & config (25 files)
├── database/ # SQL files & migrations
├── pages/ # Application pages (10+ files)
├── includes/ # Components (header, footer)
├── public/ # Assets (CSS, JS)
├── docs/ # Documentation
├── logs/ # Application logs
├── cron/ # Scheduled tasks
└── .windsurf/ # AI context & workflows
Troubleshooting
MySQL tidak start
sudo /opt/lampp/lampp stop
sudo /opt/lampp/lampp start
Permission error
sudo chmod -R 755 /opt/lampp/htdocs/sprint
sudo chown -R daemon:daemon /opt/lampp/htdocs/sprint
Database error
Ulangi step 3 setup database
Port conflict
# Check port 80
sudo netstat -tlnp | grep :80
# Kill process if needed
sudo kill -9 <PID>
Post-Setup Verification
1. Check All Services
sudo /opt/lampp/lampp status
2. Test Database Connection
/opt/lampp/bin/mysql -u root -proot bagops -e "SELECT 1"
3. Test API
curl http://localhost/sprint/api/personil_list.php?page=1&per_page=1
4. Check Logs
# Apache logs
tail -20 /opt/lampp/logs/error_log
# PHP logs
tail -20 /opt/lampp/htdocs/sprint/logs/error.log
Development Notes
- DEBUG_MODE aktif di development
- Error reporting: E_ALL
- Session lifetime: 3600 detik
- Base URL: http://localhost/sprint
Next Steps
- Buka browser: http://localhost/sprint
- Login dengan credentials default
- Explore menu dan fitur:
- Personil: Enhanced dengan auto-generation
- Bagian: Auto-type assignment
- Unsur: Drag & drop ordering
- Jabatan: Card-based layout
- Calendar: Google Calendar sync
- Backup: Automated system
- Lihat
.windsurf/workflows/sprin-dev.mduntuk development tasks - Check
DEVELOPMENT_SUMMARY.mduntuk detail enhancements