The unified management console for GrowthPlatform — a marketing domain open-source project.
Currently provides management UI for growth-profile (user profiling & tagging system).
- Tag Definition Management — Create, edit, enable/disable tag definitions with support for multiple data types (STRING, LONG, DOUBLE, BOOLEAN, ENUM, DATE)
- Tag Value Query — Look up user tags by userId, write/delete individual tag values
| Category | Choice |
|---|---|
| Framework | Vue 3 (Composition API + <script setup>) |
| Language | TypeScript |
| Build Tool | Vite 6 |
| UI Library | Element Plus |
| Router | Vue Router 4 |
| State | Pinia |
| HTTP Client | Axios |
- Node.js 20+
- growth-profile service running on port 8082
# Install dependencies
npm install
# Start dev server (http://localhost:3000)
npm run dev
# Type check
npx vue-tsc --noEmit
# Build for production
npm run buildThe dev server proxies /api requests to http://localhost:8082 automatically.
src/
├── api/ # Backend API clients
│ ├── request.ts # Axios instance with interceptors
│ ├── tagDefinition.ts
│ └── tagValue.ts
├── layout/ # App layout (sidebar + header + content)
├── router/ # Vue Router configuration
├── types/ # TypeScript type definitions
├── views/profile/ # Page components
│ ├── TagDefinitionList.vue
│ └── TagValueQuery.vue
├── App.vue
└── main.ts
| Project | Description |
|---|---|
| growth-platform-bom | Dependency version management |
| growth-common | Shared libraries |
| growth-profile | User profiling & tagging |
| growth-campaign | Marketing strategy engine |
| growth-coupon | Coupon management |
| growth-message | Multi-channel messaging |
| growth-event | Event center |
See CONTRIBUTING.md for guidelines.