Skip to content
o1laabsPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ArtMap Studio

Professional Map Poster Generator

TypeScript React License

Create beautiful, custom map posters with our intuitive web-based editor.

Features โ€ข Quick Start โ€ข Documentation โ€ข Contributing


๐Ÿ“– Overview

ArtMap Studio is a commercial web application that combines Mapiful's smooth UX with Maptoposter's artistic visual algorithms. Users can create stunning map posters featuring:

  • ๐Ÿ—บ๏ธ Any Location Worldwide - Search and visualize any place on Earth
  • ๐ŸŽจ 5 Artistic Themes - From minimalist noir to vintage terrain
  • ๐Ÿ–ผ๏ธ Frame Preview - 7 frame styles with 5 mat board options
  • ๐Ÿ“ฑ Device Mockup - Preview on 8 different phone models
  • โœจ Theme Customization - Adjust colors, line width, and opacity
  • ๐Ÿ’ณ Secure Payment - Integrated PayPal checkout
  • ๐Ÿ“ฅ High-Quality Export - PNG, PDF, and SVG formats up to 600 DPI

โœจ Features

๐Ÿ—บ๏ธ Map Editor

  • Global Search: Powered by Photon API (free, no key required)
  • Smooth Navigation: Drag to pan, scroll to zoom
  • 5 Themes: Noir, Light, Vintage, Dark, Terrain
  • Immersive Text: Maptoposter-style text overlay with location details
  • Real-time Preview: See changes instantly as you edit

๐Ÿ–ผ๏ธ Frame Preview

  • 7 Frame Styles:
    • Natural Oak, Black Wood, White Wood
    • Minimal Black, Minimal White
    • Gold, Silver
  • 5 Mat Colors: Cream, Charcoal, White, Off-White, No Mat
  • Realistic Shadows: 3D effect with accurate textures
  • Responsive: Automatically adapts to poster content

๐Ÿ“ฑ Phone Mockup

  • 8 Device Models:
    • iPhone 15 Pro, iPhone 15, iPhone 14 Pro, iPhone SE
    • Samsung S24 Ultra, Samsung S24
    • Pixel 8 Pro, Generic Phone
  • Accurate Details: Dynamic Island, notches, rounded screens
  • Multiple Colors: 2-4 color options per device
  • Real Dimensions: True-to-life screen ratios

๐ŸŽจ Theme Customization

  • Color Controls: Background, water, and road colors
  • Line Width: Adjust from 0.5 to 3.0
  • Opacity: Control transparency from 0.1 to 1.0
  • Preset Palettes: Quick color selections
  • Real-time Preview: Instant visual feedback

๐Ÿ’ณ Payment System

  • 3 Products:
    • Standard ($9.99): 300 DPI, PNG & PDF
    • Pro ($19.99): 600 DPI, PNG, PDF & SVG, commercial license
    • Monthly ($14.99): Unlimited downloads, all Pro features
  • PayPal Integration: Secure checkout with PayPal
  • Multi-Currency: USD, EUR, GBP, JPY, CNY
  • Extensible Architecture: Ready for Stripe, Wise integration

๐Ÿ“ฅ Export Options

Format Standard Pro Monthly
PNG 300 DPI โœ… 600 DPI โœ… 600 DPI โœ…
PDF 300 DPI โœ… 600 DPI โœ… 600 DPI โœ…
SVG โŒ Hybrid Vector โœ… Hybrid Vector โœ…
  • High Resolution: Up to 600 DPI for professional printing
  • Multiple Formats: PNG, PDF, and SVG
  • Auto Download: Files download immediately after export
  • Progress Tracking: Real-time export progress indicator

๐Ÿš€ Quick Start

Prerequisites

  • Node.js: >= 18.0.0
  • npm: >= 9.0.0

Installation

# Clone the repository
git clone https://github.com/yourusername/artmap-studio.git
cd artmap-studio

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env

Configuration

Edit .env file with your API keys:

# Stadia Maps API Key (get free at https://client.stadiamaps.com/)
VITE_STADIA_API_KEY=your_stadia_api_key_here

# PayPal Client ID (get at https://developer.paypal.com/dashboard/applications/)
VITE_PAYPAL_CLIENT_ID=your_paypal_client_id_here

# App configuration
VITE_APP_NAME=ArtMap Studio
VITE_APP_URL=http://localhost:5173

Development

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Visit http://localhost:5173 to see the application.


๐Ÿ—๏ธ Architecture

Tech Stack

  • Frontend: React 18.2+ with TypeScript 5.0+
  • Build Tool: Vite 5.0+
  • State Management: Zustand 4.5+
  • Styling: Tailwind CSS 3.4+ + Emotion
  • Maps: MapLibre GL JS 4.1+ (free Mapbox alternative)
  • Map Tiles: Stadia Maps (200K free requests/month)
  • Export: html2canvas + jsPDF

Project Structure

artmap-studio/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/       # React components
โ”‚   โ”‚   โ”œโ”€โ”€ map/         # Map-related components
โ”‚   โ”‚   โ”œโ”€โ”€ preview/     # Frame and phone preview
โ”‚   โ”‚   โ”œโ”€โ”€ theme/       # Theme customization
โ”‚   โ”‚   โ”œโ”€โ”€ payment/     # Payment modal and buttons
โ”‚   โ”‚   โ””โ”€โ”€ export/      # Export dialog
โ”‚   โ”œโ”€โ”€ config/          # Configuration files
โ”‚   โ”œโ”€โ”€ services/        # Business logic
โ”‚   โ”œโ”€โ”€ store/           # Zustand stores
โ”‚   โ”œโ”€โ”€ types/           # TypeScript definitions
โ”‚   โ””โ”€โ”€ pages/           # Page components
โ”œโ”€โ”€ docs/                # Documentation
โ””โ”€โ”€ public/              # Static assets

Design Patterns

  • Singleton Pattern: Service layer (MapService, ThemeService, PaymentService, ExportService)
  • Repository Pattern: State management with Zustand
  • Strategy Pattern: Multi-provider payment system
  • Observer Pattern: State subscriptions and reactivity

๐Ÿ“š Documentation


๐Ÿงช Testing

# Run unit tests
npm run test

# Run tests with UI
npm run test:ui

# Run E2E tests
npm run test:e2e

# Type checking
npm run type-check

# Linting
npm run lint
npm run lint:fix

๐Ÿ“ Development Roadmap

โœ… Completed (Phase 1-6)

  • Map editor with search and zoom
  • 2D frame preview (7 styles)
  • 2D phone mockup (8 devices)
  • Theme customization
  • Payment architecture
  • PayPal integration
  • PNG/PDF export (300/600 DPI)
  • SVG export (hybrid vector)

๐Ÿšง In Progress

  • Unit tests
  • Code review
  • Performance optimization

๐Ÿ“‹ Planned

  • 3D frame preview
  • Additional themes
  • Stripe payment integration
  • User account system
  • Order history
  • Coupon codes
  • Cloud-based rendering

๐Ÿค Contributing

Contributions are welcome! Please follow these steps:

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

Code Style

  • Use TypeScript for all new code
  • Follow ESLint rules
  • Format code with Prettier
  • Write meaningful commit messages
  • Add tests for new features

๐Ÿ“„ License

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


๐Ÿ™ Acknowledgments

  • MapLibre GL - Open-source map rendering engine
  • Stadia Maps - Free vector map tiles
  • Photon API - Open geocoding service
  • Maptoposter - Inspiration for artistic algorithms
  • Mapiful - UX design inspiration

๐Ÿ“ž Support


Built with โค๏ธ by the ArtMap Studio team

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages