Skip to content

scsidisk/piemdm

 
 

Repository files navigation

PieMDM - Enterprise Master Data Management System

CI

English | 简体中文 | 繁體中文 | 한국어 | Русский | Tiếng Việt | 日本語

PieMDM is a powerful and user-friendly open-source Master Data Management (MDM) system designed for enterprise data governance. Built with Go backend and Vue.js frontend, it provides comprehensive data management, governance, and integration capabilities.

Project Website: https://pieteams.github.io/piemdm/

🚀 Features

  • Data Management & Integration
  • Master Data Modeling
  • Data Governance
  • System Integration
  • Access Control
  • Workflow Management

📋 Requirements

  • Go 1.24.12+
  • Node.js 20+
  • MySQL 8.0+
  • Redis 6+

🚀 Quick Start

1. Clone Repository

git clone https://github.com/pieteams/piemdm.git
cd piemdm
git config pull.rebase true

2. Backend Setup

cd backend
# Install dependencies
go mod tidy

# Copy configuration file
cp config/local.yml.example config/local.yml
# Edit config/local.yml to configure database and other settings

# Run database migrations
go run cmd/migration/main.go

# Start backend service
go run cmd/server/main.go

3. Frontend Setup

cd frontend
# Install dependencies
npm install
# or
pnpm install

# Start development server
npm run dev
# or
pnpm dev

4. Access Application

🐳 Docker Deployment

Using Docker Compose

# Start all services
docker-compose -f deploy/docker-compose.yml up -d

# View logs
docker-compose -f deploy/docker-compose.yml logs -f

# Stop services
docker-compose -f deploy/docker-compose.yml down

Manual Docker Build

# Build backend image
docker build -f backend/Dockerfile -t piemdm-api:latest .

# Build frontend image
cd frontend
docker build -t piemdm-web:latest .

🔧 Configuration

Environment Variables

Create a .env file in the root directory:

# Database
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=piemdm

# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=your_password

# JWT
JWT_SECRET=your_jwt_secret_key

# Application
APP_ENV=development
APP_PORT=8787

Database Setup

CREATE DATABASE piemdm CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

📖 API Documentation

API documentation is automatically generated using Swagger and can be accessed at:

🧪 Testing

Backend Tests

cd backend
# Run all tests
make test

# Run tests with coverage
go test -cover ./...

# Generate mocks
make mock

Frontend Tests

cd frontend
# Run unit tests
pnpm test

# Run e2e tests
npm run test:e2e

🚀 Deployment

Production Build

# Build backend
cd backend
make build

# Build frontend
cd frontend
pnpm build

Environment-specific Configurations

  • Development: config/local.yml
  • Production: config/prod.yml

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

Code Standards

  • Follow Go best practices and conventions
  • Use ESLint and Prettier for frontend code
  • Write comprehensive tests
  • Update documentation

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Support

🙏 Acknowledgments

Thanks to all contributors and the open source community for making this project possible.


Star ⭐ this repository if you find it helpful!

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 60.4%
  • Vue 24.1%
  • JavaScript 11.8%
  • TypeScript 2.9%
  • CSS 0.3%
  • Makefile 0.3%
  • Other 0.2%