About this project

This repository provides a simple web application that renders a minimalist CV (curriculum vitae) with a print-friendly layout. It is built using Next.js (App Router), TypeScript, and Tailwind CSS, and includes shadcn/ui components for a clean, modern interface. **Key Features:** - **Minimalist Design:** Focuses on a clean, professional presentation suitable for printing or PDF export. - **Single-File Customization:** All resume content (name, summary, work experience, education, skills, projects) is defined in `src/data/resume-data.ts`, making it easy to update without touching component code. - **Structured Data:** Includes support for structured data (JSON-LD) for better SEO and machine readability. - **Responsive Layout:** Uses Tailwind CSS for styling, ensuring the CV looks good on various screen sizes. - **Docker Support:** Provides a `docker-compose.yml` for containerized deployment. **Getting Started:** 1. Clone the repository. 2. Install dependencies with `pnpm install`. 3. Run the development server with `pnpm dev` and open `http://localhost:3000`. 4. Edit `src/data/resume-data.ts` to customize your CV. **Scripts:** - `pnpm dev`: Start development server. - `pnpm build`: Build for production. - `pnpm start`: Start production server. - `pnpm lint` / `pnpm lint:fix`: Run Biome linting checks (with auto-fix). - `pnpm format` / `pnpm format:fix`: Check/format code with Biome. - `pnpm check` / `pnpm check:fix`: Run both linting and formatting checks (with auto-fix). **Project Structure:** - `src/app/`: Next.js App Router pages and layout. - `src/components/`: Shared components, including icons and shadcn/ui elements. - `src/data/`: Contains `resume-data.ts` for all resume content. - `src/lib/`: Utilities and TypeScript types. **Customization:** - Edit `src/data/resume-data.ts` to change all resume details. - Adjust colors and global styles in `tailwind.config.js` and `src/app/globals.css`. **Deployment:** - Can be deployed to Vercel with a single click (button provided in the README). - Alternatively, use Docker with `docker compose build` and `docker compose up -d`. **License:** MIT