ViteReact作品集

applycraft — Vite 作品集模板

作者 biroue10

ApplyCraft 是一个浏览器优先的求职工作区,提供简历与求职信构建、ATS 检查、申请跟踪和面试准备,支持英语、法语和阿拉伯语界面,无需账户即可使用核心功能。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-17查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

提供简历构建器,支持引导式编辑、实时预览、样式调整、本地草稿和 PDF/DOCX 导出

02

包含 60 个可定制简历模板,支持按布局、ATS 适用性和市场筛选

03

ATS 检查器可分析简历结构、完整性、量化、日期和职位描述关键词,提供启发式指导

04

求职信构建器将收件人、个人资料、开头、正文和结尾分开编辑,并支持导出

05

职位跟踪器采用看板工作流,数据可保存在本地并支持导入导出

06

界面支持英语、法语和阿拉伯语,阿拉伯语页面使用从右到左布局

模板详细介绍

ApplyCraft 是一个面向求职者的多语言工作区,核心功能包括简历构建器、求职信构建器、ATS 检查器、申请包管理、职位跟踪器和面试准备。简历构建器提供引导式编辑、实时预览、样式控制、本地草稿、PDF/DOCX 导出以及分享链接(短链接有过期时间,离线链接将文档编码在 URL 中)。ATS 检查器可分析粘贴文本或导入的 PDF/DOCX,并提供启发式指导,但无法保证通过特定雇主的 ATS。职位跟踪器采用看板流程,数据可保存在设备本地并支持导入导出。界面支持英语、法语和阿拉伯语(含从右到左布局),核心编辑流程无需账户,但简历创建需要服务器验证的免密码会话(通过一次性邮件链接)。README 未详细说明 AI 辅助、支付等可选功能的实现细节。

ViteReact作品集

适合你的项目吗?

适用场景

  • 求职者需要创建或定制专业简历并导出为 PDF 或 DOCX 格式
  • 用户希望检查简历的 ATS 兼容性并获得结构、关键词等方面的改进建议
  • 求职者需要为特定职位撰写求职信并管理申请材料
  • 用户希望跟踪多个职位的申请进度(从保存到录用或拒绝)
  • 求职者准备面试,需要练习常见问题和结构化回答

适合人群

  • 正在寻找工作并需要制作简历和求职信的求职者
  • 需要检查简历 ATS 兼容性的用户
  • 希望集中管理求职申请进度的求职者
  • 需要多语言(英语、法语、阿拉伯语)求职工具的用户

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    本地开发需要 Node.js 24.x(推荐)、npm 和 Git

  2. 2

    克隆仓库后运行 npm ci 安装依赖,复制 .env.example 为 .env,然后运行 npm run dev 启动开发服务器

  3. 3

    生产构建使用 npm run build,生成静态文件到 dist/ 目录,可用 npm run preview 预览

  4. 4

    简历创建需要服务器验证的免密码会话,需配置 RESEND_API_KEY 和 RESEND_FROM_EMAIL 以发送登录邮件

  5. 5

    短链接和认证存储使用 Cloudflare KV 绑定,配置文件为 wrangler.json,Worker 实现位于 worker.js

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 配置 AI 辅助功能需要服务端 ANTHROPIC_API_KEY,本地默认留空,仅在测试 AI 时填写。
  • 免密码登录邮件发送需要 RESEND_API_KEY 和 RESEND_FROM_EMAIL,本地默认留空。
  • LEMON_SQUEEZY_* 为可选的结账与 webhook 支付配置,默认留空。
  • 简历创建需要服务器验证的会话(通过一次性邮件链接获取);短链接与认证存储依赖 Cloudflare KV 绑定。
  • 生产部署需在部署环境中配置所需的密钥与绑定,且不得提交到仓库。
  • ATS 检查器仅提供启发式指导,不能保证通过特定雇主的 ATS 或获得面试。
  • 短链接、AI 辅助、邮件、账户、支付等服务端功能为可选,需显式操作与配置才能启用。
  • 可选的短链接功能会按声明的保留期存储文档副本。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

| `ANTHROPIC_API_KEY` | Server-side key for configured AI helpers | blank unless testing AI |

README 原文

| `RESEND_API_KEY`, `RESEND_FROM_EMAIL` | Required passwordless sign-in email delivery | blank locally |

README 原文

| `LEMON_SQUEEZY_*` | Optional checkout and webhook configuration | blank |

README 原文

Short-link and authentication storage use the Cloudflare KV binding in [`wrangler.json`](wrangler.json). Resume creation requires a server-verified session obtained through a one-time email link; public landing pages, templates, blog articles, and the ATS checker remain accessible without signing in. The Worker implementation lives in [`worker.js`](worker.js).

README 原文

Cloudflare Worker settings are defined in [`wrangler.json`](wrangler.json). Required production secrets and bindings must be configured in the deployment environment; they must not be committed to the repository.

README 原文

> The ATS checker provides heuristic guidance. It cannot guarantee that a resume will pass a specific employer's ATS or lead to an interview.

README 原文

4. Optional server-backed features—such as short links, AI helpers, email, accounts, or payments—are isolated behind explicit actions and configuration.

README 原文

- optional short links store a document copy for the stated retention period;

README 原文
https://github.com/biroue10/applycraft/blob/main/LICENSEhttps://github.com/biroue10/applycraft/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-17。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 88 / 100
技术栈
Vite · React
网站类型
作品集
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-12
截图检查日期
2026-10-17

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261018 · 2026-10-18

查看当时使用的来源资料

SHA-256: 60277ed4d1d08b102330d7e9a322fd0fa518df61324b1a601646ca43e2272675

2026-10-17T19:32:45.719Z

来源文件 / 仓库
# ApplyCraft

<p align="center">
  <strong>Build, tailor, check, export, and manage job applications from one multilingual workspace.</strong>
</p>

<p align="center">
  <a href="https://applycraft.io/">Live application</a> ·
  <a href="https://applycraft.io/resume-builder/">Resume builder</a> ·
  <a href="https://applycraft.io/ats-checker/">ATS checker</a> ·
  <a href="https://applycraft.io/resume/templates/">Templates</a> ·
  <a href="https://applycraft.io/blog/">Blog</a>
</p>

<p align="center">
  <a href="https://github.com/biroue10/applycraft/actions/workflows/deploy.yml"><img alt="Build and deployment status" src="https://github.com/biroue10/applycraft/actions/workflows/deploy.yml/badge.svg"></a>
  <a href="https://github.com/biroue10/applycraft/actions/workflows/security.yml"><img alt="Security checks status" src="https://github.com/biroue10/applycraft/actions/workflows/security.yml/badge.svg"></a>
  <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-see%20LICENSE-315bea"></a>
  <img alt="Interface languages: English, French, and Arabic" src="https://img.shields.io/badge/UI-English%20%C2%B7%20French%20%C2%B7%20Arabic-101827">
</p>

![ApplyCraft French landing page](docs/screenshots/applycraft-home-fr.webp)

ApplyCraft is a browser-first career workspace for creating professional resumes and cover letters, checking ATS readiness, tracking applications, and preparing for interviews. The production interface supports English, French, and Arabic—including right-to-left layouts—and provides PDF and DOCX exports without requiring an account for the core workflow.

> [!NOTE]
> The ATS checker provides heuristic guidance. It cannot guarantee that a resume will pass a specific employer's ATS or lead to an interview.

## Contents

- [Product overview](#product-overview)
- [Product tour](#product-tour)
- [How the product works](#how-the-product-works)
- [Technology](#technology)
- [Local development](#local-development)
- [Configuration](#configuration)
- [Quality and testing](#quality-and-testing)
- [Internationalization, SEO, and accessibility](#internationalization-seo-and-accessibility)
- [Privacy and security](#privacy-and-security)
- [Deployment](#deployment)
- [Project structure](#project-structure)
- [Contributing and support](#contributing-and-support)

## Product overview

| Area | What it provides | Open |
| --- | --- | --- |
| Resume builder | Guided sections, live preview, styling controls, local drafts, PDF/DOCX export, and sharing | [Build a resume](https://applycraft.io/resume-builder/) |
| Resume templates | 60 customizable templates, with ATS-friendly, one-column, two-column, and market filters | [Browse templates](https://applycraft.io/resume/templates/) |
| ATS checker | Resume structure, completeness, quantification, date, and job-description keyword checks | [Check a resume](https://applycraft.io/ats-checker/) |
| Cover letter builder | Structured recipient, profile, opening, body, closing, and export workflow | [Build a cover letter](https://applycraft.io/cover-letter-builder/) |
| Application pack | Resume and cover-letter variants organized for a specific application | [Open application pack](https://applycraft.io/application-pack/) |
| Job tracker | Kanban workflow from saved role to offer, with filters and local import/export | [Track applications](https://applycraft.io/job-tracker/) |
| Interview preparation | Practice workspace for common questions and structured answers | [Prepare for interviews](https://applycraft.io/interview-prep/) |
| Career content | Practical guidance about resumes, ATS systems, cover letters, and job searches | [Read the blog](https://applycraft.io/blog/) |

Additional localized entry points:

- [English](https://applycraft.io/)
- [Français](https://applycraft.io/fr/)
- [العربية](https://applycraft.io/ar/)
- [French ATS checker](https://applycraft.io/ats-checker-fr/)
- [Arabic ATS checker](https://applycraft.io/ats-checker-ar/)

## Product tour

### Resume templates

Search and filter templates by layout, ATS suitability, recommendation, and target market. A selected design can be customized in the builder.

[![ApplyCraft resume template gallery](docs/screenshots/applycraft-resume-templates.webp)](https://applycraft.io/resume/templates/)

### Resume builder

The builder combines guided editing with a live document preview. Users can change content, colors, sections, and layout before exporting to PDF or DOCX.

Core capabilities include:

- reusable profile data and tailored resume versions;
- locally saved drafts;
- PDF and DOCX export;
- short share links with an expiry window;
- private offline links that encode the document in the URL;
- a shared-document viewer with PDF download;
- multilingual content and right-to-left document support.

### ATS checker

The checker can analyze pasted text or an imported PDF/DOCX. Supplying a job description adds a keyword-gap comparison.

[![ApplyCraft ATS resume checker](docs/screenshots/applycraft-ats-checker.webp)](https://applycraft.io/ats-checker/)

### Cover letter builder

The cover-letter workflow separates the recipient, candidate details, opening, body, and closing so each part can be reviewed independently.

[![ApplyCraft cover letter builder](docs/screenshots/applycraft-cover-letter-builder.webp)](https://applycraft.io/cover-letter-builder/)

### Job tracker

Applications move through saved, preparing, applied, interview, offer, and rejected stages. Tracker metadata can remain on the device and can be exported or imported by the user.

[![ApplyCraft job tracker](docs/screenshots/applycraft-job-tracker.webp)](https://applycraft.io/job-tracker/)

### Blog and career guides

The blog publishes long-form guides for job seekers, including ATS explanations, resume tailoring, Canadian resume formats, interview questions, and application strategy.

[![ApplyCraft blog](docs/screenshots/applycraft-blog.webp)](https://applycraft.io/blog/)

### Responsive and right-to-left experiences

The interface is responsive, and the Arabic experience uses a dedicated right-to-left layout.

<table>
  <tr>
    <td align="center"><img alt="ApplyCraft mobile experience" src="docs/screenshots/applycraft-mobile.webp" width="240"></td>
    <td><img alt="ApplyCraft Arabic landing page" src="docs/screenshots/applycraft-home-ar.webp"></td>
  </tr>
  <tr>
    <td align="center"><strong>Mobile</strong></td>
    <td align="center"><strong>Arabic / RTL</strong></td>
  </tr>
</table>

## How the product works

```mermaid
flowchart LR
    A["Create or import a profile"] --> B["Choose a template"]
    B --> C["Write and tailor content"]
    C --> D["Review ATS guidance"]
    D --> E["Export or share"]
    E --> F["Track the application"]
    F --> G["Prepare for the interview"]
```

The core editor is designed to work without an account:

1. The browser stores the active draft locally.
2. React renders the editor and a live document preview.
3. PDF and DOCX exports are generated from the document data.
4. Optional server-backed features—such as short links, AI helpers, email, accounts, or payments—are isolated behind explicit actions and configuration.

## Technology

| Layer | Main tools |
| --- | --- |
| Front end | React 18, React Router, Vite |
| Static generation | `vite-react-ssg`, generated route pages, sitemap and blog indexes |
| Documents | jsPDF, DOCX, PDF.js, browser print/export utilities |
| Data encoding | `lz-string`, `fflate`, browser storage |
| Edge backend | Cloudflare Worker and KV-backed short links |
| Analytics | Optional Google Analytics and Microsoft Clarity |
| Testing | Playwright, Vitest, jsdom, axe-core, custom SEO and security audits |
| Automation | GitHub Actions, Cloudflare deployment hooks, IndexNow submission |

## Local development

### Requirements

- [Node.js](https://nodejs.org/) 24.x recommended
- npm
- Git

### Install and run

```bash
git clone https://github.com/biroue10/applycraft.git
cd applycraft
npm ci
cp .env.example .env
npm run dev
```

Open the URL printed by Vite, normally `http://localhost:5173`.

On Windows PowerShell, copy the environment file with:

```powershell
Copy-Item .env.example .env
```

### Production build

```bash
npm run build
npm run preview
```

The generated static application is written to `dist/`.

## Configuration

The repository includes [`.env.example`](.env.example). Copy it to `.env` for local development and keep real secrets out of Git.

| Variable group | Purpose | Typical local value |
| --- | --- | --- |
| `VITE_ACCOUNTS_ENABLED` | Legacy account UI switch; resume creation now uses verified passwordless sessions | `false` |
| `VITE_PAYMENTS_ENABLED` | Enables optional payment UI | `false` |
| `VITE_GA_ENABLED`, `VITE_CLARITY_ENABLED` | Enables optional analytics integrations | `false` |
| `VITE_GA_MEASUREMENT_ID`, `VITE_CLARITY_PROJECT_ID` | Public analytics identifiers | blank |
| `ANTHROPIC_API_KEY` | Server-side key for configured AI helpers | blank unless testing AI |
| `RESEND_API_KEY`, `RESEND_FROM_EMAIL` | Required passwordless sign-in email delivery | blank locally |
| `LEMON_SQUEEZY_*` | Optional checkout and webhook configuration | blank |
| `APP_ORIGIN`, `ALLOWED_ORIGINS` | Production URL and Worker origin restrictions | local or production origin |

> [!IMPORTANT]
> Never expose server secrets through `VITE_*` variables. Vite variables are bundled into client-side code.

Short-link and authentication storage use the Cloudflare KV binding in [`wrangler.json`](wrangler.json). Resume creation requires a server-verified session obtained through a one-time email link; public landing pages, templates, blog articles, and the ATS checker remain accessible without signing in. The Worker implementation lives in [`worker.js`](worker.js).

## Quality and testing

The CI pipeline runs build, localization, SEO, accessibility, performance, document, and security checks. Useful commands include:

| Command | Purpose |
| --- | --- |
| `npm run build` | Generate production pages and assets |
| `npm run test:e2e` | Run end-to-end browser tests |
| `npm run test:ats` | Validate ATS scoring behavior |
| `npm run test:free-exports` | Check free PDF/DOCX export paths |
| `npm run test:share` | Verify document sharing |
| `npm run test:i18n` | Check locale integrity |
| `npm run test:a11y` | Run accessibility checks |
| `npm run test:security` | Run repository security tests |
| `npm run validate:seo` | Audit generated SEO output |
| `npm run validate:performance` | Check performance budgets |

Before opening a pull request, run at least:

```bash
npm run build
npm run test:i18n
npm run test:a11y
npm run test:security
npm run validate:seo
```

End-to-end tests may require Playwright browsers:

```bash
npx playwright install
```

## Internationalization, SEO, and accessibility

### Internationalization

- Production UI locales: English, French, and Arabic.
- Arabic pages use right-to-left direction and localized navigation.
- User-authored resume content is not limited to the interface language.
- Locale copy is organized under [`src/i18n`](src/i18n).
- Hardcoded user-facing strings are checked by the i18n guard.

### SEO

The build process generates and validates:

- localized metadata and canonical URLs;
- `hreflang` relationships;
- structured data and breadcrumbs;
- blog and content indexes;
- `robots.txt` and `sitemap.xml`;
- Open Graph assets;
- static HTML for indexable routes.

See the public [sitemap](https://applycraft.io/sitemap.xml) and [robots.txt](https://applycraft.io/robots.txt).

### Accessibility

The project includes automated axe checks, contrast validation, keyboard-oriented navigation, semantic labels, and reduced-motion considerations. Accessibility feedback can be reported through [GitHub Issues](https://github.com/biroue10/applycraft/issues) or the public [accessibility page](https://applycraft.io/accessibility/).

## Privacy and security

ApplyCraft follows a browser-first model for the core editing workflow:

- resume and cover-letter drafts are stored locally by default;
- core PDF/DOCX generation runs from the user's document data;
- account creation is not required for the primary builder;
- analytics are consent-controlled and environment-configurable;
- optional short links store a document copy for the stated retention period;
- optional AI, email, account, and payment features may send only the data needed for the selected action.

Security controls include origin restrictions, rate limits, request-size limits, content security policies, dependency auditing, secret scanning, CodeQL, and automated security tests.

Read the public policies:

- [Privacy policy](https://applycraft.io/privacy/)
- [Cookie policy](https://applycraft.io/cookies/)
- [Terms of service](https://applycraft.io/terms/)
- [AI disclosure](https://applycraft.io/ai-disclosure/)
- [Security policy](SECURITY.md)

## Deployment

Production builds are automated by [`.github/workflows/deploy.yml`](.github/workflows/deploy.yml). A push to `main` triggers the validation pipeline, builds the static application, and runs the configured production update steps, including search-engine notifications.

Cloudflare Worker settings are defined in [`wrangler.json`](wrangler.json). Required production secrets and bindings must be configured in the deployment environment; they must not be committed to the repository.

## Project structure

```text
applycraft/
├── .github/workflows/   # CI, deployment, security, and SEO automation
├── docs/                # Project documentation and README screenshots
├── public/              # Static pages, generated content inputs, and public assets
├── scripts/             # Build generators, audits, and maintenance tools
├── src/
│   ├── application/     # Application workspace and tracking flows
│   ├── ats/             # ATS analysis logic and interfaces
│   ├── components/      # Shared UI components
│   ├── documents/       # Resume and cover-letter document models
│   ├── i18n/            # Locale namespaces and translation utilities
│   ├── interview/       # Interview-preparation workflows
│   ├── pdf/             # PDF rendering and export support
│   └── seo/             # Metadata and structured-data utilities
├── tests/               # Unit, integration, regression, and browser tests
├── worker.js            # Cloudflare Worker API
├── wrangler.json        # Worker configuration and bindings
└── vite.config.js       # Vite and static-generation configuration
```

## Contributing and support

Contributions are welcome:

1. [Open an issue](https://github.com/biroue10/applycraft/issues) describing the bug or proposed change.
2. Fork the repository and create a focused branch.
3. Add or update tests when behavior changes.
4. Run the relevant quality checks.
5. Open a pull request with screenshots for visual changes.

For product help, visit the [Help Center](https://applycraft.io/help/) or email [[email protected]](mailto:[email protected]).

## License

Copyright © 2026 ApplyCraft by Biroue Digital Ltd. See [`LICENSE`](LICENSE) for the repository's licensing terms.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。