Selamat Datang di MStore Documentation
Dokumentasi ini adalah panduan lengkap untuk development full-stack modern menggunakan Flutter (frontend), Go (backend), MySQL & MongoDB (database), dan LGTM stack (observability).🎯 Apa yang Akan Anda Pelajari
Flutter Development
State management, API client, testing, dan best practices Flutter
Go Backend
Clean architecture, API design, error handling, dan testing
Database Design
MySQL schema, MongoDB patterns, migrations, dan data seeding
Observability
Loki, Grafana, Tempo, Mimir - monitoring lengkap
🚀 Quick Start
Mulai development dalam 15 menit:1
Install Prerequisites
Pastikan Go 1.22+, Flutter 3.22+, Docker 24+, dan Taskfile sudah terinstall
2
Clone Repository
3
Setup Environment
4
Run Application
🏗️ Arsitektur Stack
🛠️ Tech Stack
Frontend
- Flutter 3.22+ - Cross-platform UI framework
- Riverpod - State management
- Dio - HTTP client
- Go Router - Navigation
Backend
- Go 1.22+ - Backend language
- Fiber / Echo - HTTP framework
- GORM - MySQL ORM
- MongoDB Driver - NoSQL client
- Viper - Configuration management
Database
- MySQL 8.0+ - Relational database (OLTP)
- MongoDB 7.0+ - Document database
- Redis 7.0+ - Caching layer
Observability (LGTM)
- Loki - Log aggregation
- Grafana - Visualization & dashboards
- Tempo - Distributed tracing
- Mimir - Metrics storage
DevOps
- Taskfile - Task runner (Go-native)
- Air - Live reload untuk Go
- GoReleaser - Build & release automation
- Caddy - Reverse proxy
- Cosign - Container signing
- Docker Compose - Local development
- GitHub Actions - CI/CD
📚 Struktur Dokumentasi
Getting Started
Getting Started
Prerequisites, local setup, dan project structure
Architecture
Architecture
System overview, request flow, domain model, deployment topology
Backend (Go)
Backend (Go)
Service template, API styleguide, config, error handling, testing
Frontend (Flutter)
Frontend (Flutter)
State management, API client, environment config, testing
Database
Database
MySQL schema & migrations, MongoDB patterns, seeding, backup
Observability
Observability
LGTM stack setup, instrumentasi, dashboards
DevOps
DevOps
Taskfile, live reload, release process, container images
CI/CD
CI/CD
GitHub Actions, versioning, environments
Guides
Guides
Feature flags, caching, file upload, auth, rate limiting
🎓 Untuk Siapa Dokumentasi Ini?
Backend Developer
Pelajari Go best practices, clean architecture, dan API design
Frontend Developer
Master Flutter development dengan state management modern
DevOps Engineer
Setup observability, CI/CD, dan deployment automation
Full-Stack Developer
End-to-end development dari UI sampai database
Tech Lead
Architectural decisions dan team best practices
AI Windsurf User
Template dan pattern untuk development dengan AI
💡 Filosofi Development
Development dengan AI Windsurf berarti dokumentasi ini dirancang untuk:
- Readable by AI: Struktur jelas, consistent naming, explicit context
- Actionable: Setiap halaman punya contoh code yang langsung bisa dijalankan
- Incremental: Mulai dari simple, scale sesuai kebutuhan
- Observable: Built-in monitoring sejak awal development
🔗 Next Steps
Prerequisites
Install tools yang dibutuhkan
Local Setup
Setup environment development lokal
Project Structure
Pahami struktur folder dan file
Architecture Overview
Lihat gambaran besar sistem