This is the source code for cv.tdobson.net - a modern, responsive CV/resume website built with Next.js and Mantine.
- Next.js - React framework for production
- Mantine - React components library
- TypeScript - Type safety
- Biome - Linting and formatting
- Cloudflare Pages - Hosting and deployment
components/CV/CV.tsx
- Main CV component containing all contentpages/index.tsx
- Next.js page that renders the CV componentpages/_app.tsx
- Next.js app wrapper with Mantine providerpages/_document.tsx
- Custom document for Mantine setup
theme.ts
- Mantine theme customizationbiome.json
- Biome linting and formatting rulesnext.config.js
- Next.js configuration
test-utils/
- Testing utilities and setup.storybook/
- Storybook configurationjest.config.cjs
- Jest testing configuration
- Node.js (version specified in
.nvmrc
) - npm (comes with Node.js)
# Install dependencies
npm install
# Run development server
npm run dev
# Format code
npm run format
# Run linting
npm run lint
# Run type checking
npm run typecheck
# Run tests
npm run test
# Run tests in watch mode
npm run jest:watch
# Run Storybook
npm run storybook
# Build for production
npm run build
# Deploy to Cloudflare Pages
npm run deploy
# Analyze bundle
npm run analyze
The project uses several tools to maintain code quality:
- Biome for linting and formatting
- TypeScript for type checking
- Jest for testing
- Stylelint for CSS linting
Run all quality checks with:
npm test
This runs prettier checks, linting, type checking, and tests.
The site is deployed to Cloudflare Pages. To deploy:
npm run deploy
This command:
- Builds the site (
next build
) - Deploys to Cloudflare Pages using Wrangler
For automatic deployments, the repository is connected to Cloudflare Pages which:
- Watches for changes on the main branch
- Automatically builds and deploys when changes are detected
The CV content is managed in several key files:
components/CV/CV.tsx
- Main CV content and structurepublic/testimonials/
- Reference photospublic/projects/
- Project screenshots and demos
- 🌙 Dark mode support
- 📱 Fully responsive design
- ⚡️ Fast page loads with Next.js
- 🎨 Clean UI with Mantine components
- 📊 Project portfolio section
- 💬 Testimonials from references
- 🔍 SEO optimized
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
Tim Dobson - @tdobson - cv@tdobson.net
Project Link: https://github.com/tdobson/cv.tdobson.net