Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

250 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tim Dobson's CV Website

This is the source code for cv.tdobson.net - a modern, responsive CV/resume website built with Next.js and Mantine.

Technology Stack

Project Structure

Core Content

  • components/CV/CV.tsx - Main CV component containing all content
  • pages/index.tsx - Next.js page that renders the CV component
  • pages/_app.tsx - Next.js app wrapper with Mantine provider
  • pages/_document.tsx - Custom document for Mantine setup

Configuration

  • theme.ts - Mantine theme customization
  • biome.json - Biome linting and formatting rules
  • next.config.js - Next.js configuration

Testing & Development

  • test-utils/ - Testing utilities and setup
  • .storybook/ - Storybook configuration
  • jest.config.cjs - Jest testing configuration

Development

Prerequisites

  • Node.js (version specified in .nvmrc)
  • npm (comes with Node.js)

Installation

# Install dependencies
npm install

Development Commands

# 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

Code Quality

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.

Deployment

The site is deployed to Cloudflare Pages. To deploy:

npm run deploy

This command:

  1. Builds the site (next build)
  2. Deploys to Cloudflare Pages using Wrangler

For automatic deployments, the repository is connected to Cloudflare Pages which:

  1. Watches for changes on the main branch
  2. Automatically builds and deploys when changes are detected

Content Management

The CV content is managed in several key files:

  • components/CV/CV.tsx - Main CV content and structure
  • public/testimonials/ - Reference photos
  • public/projects/ - Project screenshots and demos

Features

  • 🌙 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

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Tim Dobson - @tdobson - cv@tdobson.net

Project Link: https://github.com/tdobson/cv.tdobson.net

About

A modern, responsive CV and resume website built with Next.js and Mantine.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages