Skip to content

rasoul707/data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Advanced Data Generator

Python Version License Status Version

πŸ“‹ Table of Contents

🌟 Overview

Advanced Data Generator is a powerful, production-ready tool for generating realistic test data. It's designed to help developers, testers, and data scientists create high-quality synthetic data for various applications.

Key Benefits

  • 🎯 Generate realistic, consistent test data
  • 🌍 Support for multiple languages and locales
  • πŸ“Š Rich data visualization capabilities
  • πŸ”„ Multiple export formats
  • πŸš€ High performance and scalability
  • πŸ”’ Data validation and integrity checks

✨ Features

Core Features

  • Multi-Model Data Generation

    • User profiles with realistic attributes
    • Product catalogs with detailed information
    • Order management with relationships
    • Custom data generation rules
  • Internationalization

    • English (en_US) support
    • Persian (fa_IR) support
    • Extensible locale system
  • Data Export

    • JSON format
    • CSV format
    • YAML format
    • Custom export configurations
  • Data Validation

    • Email format validation
    • Phone number validation
    • Age verification
    • Data integrity checks

Advanced Features

  • REST API

    • Swagger documentation
    • Rate limiting
    • Authentication support
    • Error handling
  • Web Interface

    • Interactive dashboard
    • Real-time data visualization
    • Data filtering and sorting
    • Export management
  • Containerization

    • Docker support
    • Docker Compose orchestration
    • Environment isolation
    • Easy deployment

πŸ›  Installation

Prerequisites

  • Python 3.9 or higher
  • pip (Python package manager)
  • Git

Quick Start

# Clone the repository
git clone https://github.com/yourusername/data-generator.git
cd data-generator

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Docker Installation

# Build and run with Docker Compose
docker-compose up --build

πŸ“– Usage

Command Line Interface

# Generate data with default settings
python main.py

# Generate specific number of records
python main.py --users 100 --products 50 --orders 200

# Generate data with Persian locale
python main.py --locale fa_IR

# Export data to different formats
python main.py --export json

API Usage

# Start the API server
uvicorn api:app --reload

# Access the API documentation
# Open http://localhost:8000/docs in your browser

Web Interface

# Start the web interface
streamlit run web_interface.py

# Access the web interface
# Open http://localhost:8501 in your browser

πŸ“š API Documentation

The API documentation is available at http://localhost:8000/docs when the server is running.

Available Endpoints

  • POST /generate - Generate new data
  • POST /export - Export data
  • GET /users - Retrieve users
  • GET /products - Retrieve products
  • GET /orders - Retrieve orders

πŸ–₯ Web Interface

The web interface provides:

  • Interactive data generation
  • Real-time data visualization
  • Data filtering and sorting
  • Export management
  • Statistical analysis

πŸ“Š Data Models

User Model

class User:
    id: int
    name: str
    email: str
    address: str
    phone: str
    birth_date: datetime
    is_active: bool
    created_at: datetime

Product Model

class Product:
    id: int
    name: str
    description: str
    price: float
    category: str
    stock_quantity: int
    created_at: datetime

Order Model

class Order:
    id: int
    user_id: int
    product_id: int
    quantity: int
    total_price: float
    status: str
    created_at: datetime

πŸ›  Development

Setting Up Development Environment

# Install development dependencies
pip install -r requirements-dev.txt

# Run tests
pytest

# Format code
black .

# Lint code
flake8

Testing

# Run all tests
pytest

# Run specific test file
pytest tests/test_data_generator.py

# Run with coverage
pytest --cov=.

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

  • Follow PEP 8 guidelines
  • Use type hints
  • Write docstrings
  • Add tests for new features

πŸ“„ License

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

πŸ™ Acknowledgments

πŸ“ž Support

For support, please:

  1. Check the documentation
  2. Open an issue
  3. Contact the maintainers

Made with ❀️ by ilya nozary

Β© 2024 Advanced Data Generator

About

Advanced Data Generator - A powerful tool for generating realistic test data with support for multiple locales, data types, and export formats. Built with Python, featuring a modern web interface and comprehensive data visualization capabilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors