Skip to content

Guizimo/cova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 Cova

English | 简体中文

Cova Logo

Cova

The new standard for cover design

A professional-grade cover image generator with real-time preview, template management, and multi-format export — all running locally in your browser.




React TypeScript Vite TailwindCSS

🌟 Features

🎨 Professional Design Tools

  • Real-time Preview — See changes instantly as you design
  • Rich Typography — Multiple fonts, sizes, letter-spacing, line-height, italic, and color
  • Flexible Backgrounds — Solid colors, gradients with presets, image upload, frosted glass effects
  • Icon Support — Add icons with customizable background color and padding

📐 Size & Layout

  • Multiple Presets — Common cover sizes for blogs, social media, etc.
  • Custom Dimensions — Set any width and height
  • Border Radius — Adjustable rounded corners
  • Responsive Editor — Resizable panels that adapt to your workflow

🚀 Export & Templates

  • Multi-format Export — PNG, JPEG, WebP, AVIF
  • Template System — Save, load, and manage up to 10 templates
  • Configuration Persistence — Your settings are automatically cached locally
  • One-click Download — Export high-quality cover images instantly

🌍 Internationalization & Privacy

  • Bilingual UI — Full English and Chinese support
  • 100% Local Processing — No server uploads, your data never leaves your browser
  • GitHub Stars Display — Built-in repo star count on the editor header
  • Open Source — GPL-3.0, free to use and modify

📸 Showcase

Try it live at cova.guizimo.com

🚀 Quick Start

Prerequisites

Node.js pnpm

Installation

# Clone the repository
git clone https://github.com/guizimo/cova.git

# Navigate to the project directory
cd cova

# Install dependencies
pnpm install

# Start the development server
pnpm dev

Available Scripts

pnpm dev              # Start development server
pnpm build            # Build for production (tsc + vite)
pnpm preview          # Preview production build locally
pnpm lint             # Run ESLint
pnpm format           # Format code with Prettier
pnpm release          # Create a new release (standard-version)
pnpm release:major    # Major version bump
pnpm release:minor    # Minor version bump

🏗️ Architecture

Tech Stack

Category Technologies
Framework React TypeScript
Styling TailwindCSS Radix UI
Build Vite ESLint
State Zustand (with persist middleware)
i18n i18next react-i18next
Export html-to-image file-saver

Project Structure

cova/
├── src/
│   ├── components/
│   │   ├── ui/                # Base UI components (Button, Input, Select, Slider, etc.)
│   │   ├── layout/            # Landing page sections (Navbar, Hero, Features, CTA, Footer)
│   │   └── generator/         # Editor components
│   │       ├── Header.tsx     # Editor header with version & GitHub stars
│   │       ├── Preview.tsx    # Real-time cover preview canvas
│   │       └── ConfigPanel/   # Configuration panels
│   │           ├── TitleConfig.tsx
│   │           ├── FontConfig.tsx
│   │           ├── BackgroundConfig.tsx
│   │           ├── IconConfig.tsx
│   │           ├── SizeConfig.tsx
│   │           └── TemplateConfig.tsx
│   ├── pages/                 # Route pages
│   │   ├── home/              # Landing page
│   │   ├── generator/         # Cover editor (core feature)
│   │   ├── features/          # Features showcase
│   │   ├── about/             # About page
│   │   ├── contact/           # Contact page
│   │   ├── faq/               # FAQ page
│   │   └── not-found/         # 404 page
│   ├── store/                 # Zustand stores (generator state + templates)
│   ├── config/                # App configuration constants
│   ├── types/                 # TypeScript type definitions
│   ├── utils/                 # Utility functions (export, i18n, share)
│   ├── lib/                   # Shared helpers (cn utility)
│   ├── locales/               # i18n translations (en.ts, zh.ts)
│   ├── styles/                # Global styles
│   └── router/                # React Router configuration
├── public/                    # Static assets
├── CHANGELOG.md               # Auto-generated changelog
└── package.json

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Submit a Pull Request

Code Standards

Tool Purpose
TypeScript Fully typed codebase
ESLint Consistent code style
Prettier Automated formatting
Commitlint Conventional commit messages
Husky + lint-staged Pre-commit quality checks

🌟 Roadmap

  • v1.0.0 — Core cover generator with background, fonts, icons, and export
  • v1.1.0 — Mobile optimization, enhanced UX, template system
  • v1.2.0 — Template marketplace
  • v1.3.0 — Collaboration features
  • v2.0.0 — Plugin system, advanced animations and effects

💝 Support

If you find Cova helpful, please consider:

📄 License

This project is licensed under the GPL-3.0 License — see the LICENSE file for details.

📞 Contact

GuizimoCreator & Maintainer

Email GitHub


Made with ❤️ by the Cova Team
Built for creators, by creators

About

简单易用的封面图片生成工具,为你的文章、视频、社交媒体创作提供专业的封面设计。

Topics

Resources

License

Stars

Watchers

Forks

Contributors