BartoszJarocki / cv
Print-friendly, minimalist CV page
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing BartoszJarocki/cv in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Summary (README)
PreviewMinimalist CV
A clean and modern web app that renders a minimalist CV/Resume with a print-friendly layout.
⨠Features
- š Single Config File - Update all your resume data in one place
- šØ Minimalist Design - Clean, professional layout focused on content
- š± Responsive - Looks great on all devices, from mobile to desktop
- šØļø Print Optimized - Specially designed print styles for physical copies
- āØļø Keyboard Navigation - Press
Cmd/Ctrl + Kto quickly navigate through sections - š Fast Performance - Built with Next.js 14 and optimized for Core Web Vitals
- š Auto Layout - Sections automatically adjust based on your content
- š GraphQL API - Access your resume data programmatically at
/graphql - šÆ SEO Friendly - Optimized metadata for better search visibility
- š³ Docker Support - Easy containerized deployment
š ļø Tech Stack
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui (Radix UI)
- GraphQL: Apollo Server + TypeGraphQL
- Package Manager: pnpm
- Deployment: Optimized for Vercel
š Getting Started
Prerequisites
- Node.js 18+
- pnpm 8+
Installation
-
Clone the repository
git clone https://github.com/BartoszJarocki/cv.git cd cv -
Install dependencies
pnpm install -
Start the development server
pnpm dev -
Open http://localhost:3000 in your browser
-
Customize your CV
Edit the src/data/resume-data.tsx file to add your personal information, work experience, education, and skills.
Available Scripts
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLint
š Project Structure
src/
āāā app/ # Next.js App Router
ā āāā layout.tsx # Root layout with metadata
ā āāā page.tsx # Main resume page
āāā components/ # React components
ā āāā ui/ # shadcn/ui components
ā āāā icons/ # Icon components
āāā data/ # Resume data configuration
ā āāā resume-data.tsx
āāā images/ # Static assets
ā āāā logos/ # Company logos
āāā apollo/ # GraphQL server setup
āāā resolvers.ts
āāā type-defs.ts
šØ Customization
Resume Data
All resume content is stored in a single configuration file:
// src/data/resume-data.tsx
export const RESUME_DATA = {
name: "Your Name",
initials: "YN",
location: "Your City, Country",
about: "Brief description",
summary: "Professional summary",
// ... more fields
}
Styling
The app uses Tailwind CSS for styling. You can customize:
- Colors in
tailwind.config.js - Global styles in
src/app/globals.css - Print styles are defined separately for optimal printing
š³ Docker Deployment
Using Docker Compose
# Build the container
docker compose build
# Run the container
docker compose up -d
# Stop the container
docker compose down
Using Docker directly
# Build the image
docker build -t cv-app .
# Run the container
docker run -p 3000:3000 cv-app
š§ Configuration
Environment Variables
No environment variables are required for basic usage. The app works out of the box!
Print Settings
The app is optimized for printing. For best results:
- Use Chrome/Chromium for printing
- Enable "Background graphics" in print settings
- Set margins to "Default"
š¤ Contributing
Contributions are welcome! Feel free to:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgments
- shadcn/ui for the beautiful UI components
- Vercel for hosting and deployment
- All contributors who have helped improve this project
Made with ā¤ļø by Bartosz Jarocki