Advanced Plantation Ledger & Multi-Site Management System, integrated with Slack and Google Sheets. Designed for scalability, transparency, and real-time financial tracking.
- Multi-Site Ready: Manage multiple plantation sites dynamically from a single dashboard.
- Modular Entry: Dedicated modules for Panen, Operasional, Piutang, and Investasi.
- Smart Reports: Detailed financial breakdown including Net Profit, ROI, and BEP Projections directly in Slack.
- Auto-Dashboard: Tab
X_REKAPin Google Sheets automatically syncs to provide a permanent management overview. - Audit Trail: Every transaction is logged with UUIDs and Slack user metadata in
X_LOG.
sawit-x/
├── cmd/
│ └── main.go # Entry point for Cloud Function
├── internal/
│ ├── handler/ # Slack event & interaction handlers
│ ├── service/ # Core business logic (ROI, BEP, MasterData)
│ ├── client/ # Google Sheets API client
│ ├── middleware/ # Security & logging middlewares
│ └── model/ # Data structures
├── tools/
│ └── seed/ # Spreadsheet seeding & reset tool
├── flow.md # Detailed System Interaction Flow
├── PRD.md # Project Requirements & Technical Spec
└── README.md # This file
- Prerequisites: Go 1.26+, Slack App, Google Cloud Service Account.
- Environment: Copy
.env.exampleto.envand fill in the values (SPREADSHEET_ID,SLACK_BOT_TOKEN, etc.). - Run Locally:
go run cmd/main.go
Deploys to GCP Cloud Functions Gen2.
gcloud functions deploy sawit-x \
--gen2 \
--runtime=go126 \
--region=asia-southeast2 \
--source=. \
--entry-point=SawitX \
--trigger-http