8000 GitHub - x10zyn/resume-web
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

x10zyn/resume-web

Repository files navigation

Next.js Resume - Retro Terminal Style

A modern resume website built with Next.js 15 and TypeScript, featuring a retro 90s terminal/datasheet aesthetic. This project creates an interactive resume that looks like a classic Windows application.

Resume Screenshot

✨ Features

  • Retro 90s UI Design - Authentic Windows 95/98 terminal aesthetic
  • Fully Responsive - Works on desktop, tablet, and mobile devices
  • Type-Safe - Built with TypeScript for robust development
  • Fast Performance - Next.js 15 with optimal loading and SEO
  • Interactive Navigation - Tab-based navigation with smooth transitions
  • JSON-Driven Content - Easy to update resume data via JSON files
  • Modern Tech Stack - React 19, Next.js 15, Tailwind CSS 4

🚀 Quick Start

Prerequisites

  • Node.js 18+ or Bun
  • Git

Installation

  1. Clone the repository

    git clone <your-repo-url>
    cd nextjs-resume
  2. Install dependencies

    # Using bun (recommended)
    bun install
    
    # Or using npm
    npm install
  3. Start development server

    # Using bun
    bun dev
    
    # Or using npm
    npm run dev
  4. Open in browser Visit http://localhost:3000

📁 Project Structure

nextjs-resume/
├── src/
│   ├── app/                 # Next.js app directory
│   │   ├── globals.css      # Global styles with retro theme
│   │   ├── layout.tsx       # Root layout component
│   │   └── page.tsx         # Main page component
│   ├── components/
│   │   ├── layout/          # Layout components
│   │   │   └── DatasheetLayout.tsx
│   │   ├── sections/        # Resume section components
│   │   │   ├── ContactSection.tsx
│   │   │   ├── ExperienceSection.tsx
│   │   │   ├── HomeSection.tsx
│   │   │   ├── ProjectsSection.tsx
│   │   │   └── SkillsSection.tsx
│   │   └── ui/              # Reusable UI components
│   ├── data/                # JSON data files
│   │   ├── achievements.json
│   │   ├── education.json
│   │   ├── experience.json
│   │   ├── languages.json
│   │   ├── learning.json
│   │   ├── metadata.json
│   │   ├── personal.json
│   │   ├── projects.json
│   │   ├── skills.json
│   │   └── summary.json
│   └── types/
│       └── resume.ts        # TypeScript type definitions
├── public/                  # Static assets
├── docs/                    # Documentation and screenshots
└── .github/                 # GitHub Actions workflows

🎨 Customization

Updating Resume Data

All resume content is stored in JSON files in the src/data/ directory. Simply edit these files to update your information:

  • personal.json - Name, title, contact information
  • summary.json - Professional summary
  • experience.json - Work experience and job history
  • skills.json - Technical skills organized by category
  • projects.json - Personal and professional projects
  • education.json - Educational background
  • achievements.json - Awards and accomplishments
  • languages.json - Language proficiencies
  • metadata.json - Site metadata and versioning

Styling and Theme

The retro aesthetic is defined in src/app/globals.css. Key customization points:

  • Color palette - Defined in CSS custom properties (:root)
  • Typography - Uses JetBrains Mono for authentic terminal feel
  • Window styling - Classic raised/lowered border effects
  • Responsive breakpoints - Mobile-first design

Adding New Sections

  1. Create a new component in src/components/sections/
  2. Add the section to the navigation in DatasheetLayout.tsx
  3. Create corresponding JSON data file in src/data/
  4. Update TypeScript types in src/types/resume.ts

📱 Browser Support

  • Modern Browsers - Chrome, Firefox, Safari, Edge (latest 2 versions)
  • Mobile - iOS Safari, Chrome Mobile
  • Fallbacks - Graceful degradation for older browsers

🔧 Development

Available Scripts

# Development
bun dev          # Start development server
bun build        # Build for production
bun start        # Start production server
bun lint         # Run ESLint

# Additional useful commands
bun check-types  # Type checking only
bun preview      # Preview production build locally

Environment Variables

Create a .env.local file for local development:

# Analytics (optional)
NEXT_PUBLIC_GA_ID=your-google-analytics-id

# Contact form (optional)
NEXT_PUBLIC_CONTACT_FORM_URL=your-contact-form-endpoint

🚀 Deployment

Vercel (Recommended)

  1. Connect your repository to Vercel
  2. Configure build settings:
    • Build Command: bun run build
    • Output Directory: .next
    • Install Command: bun install
  3. Deploy - Automatic deployments on push to main

Netlify

  1. Build settings:
    • Build command: bun run build && bun run export
    • Publish directory: out
  2. Add environment variables if needed

Static Export

For static hosting:

# Update next.config.ts to enable static export
# Then build
bun run build

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to 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.

🙏 Acknowledgments

  • Design Inspiration - Windows 95/98 interface design
  • Fonts - JetBrains Mono for authentic monospace feel
  • Icons - Classic system icons and emojis
  • Community - Next.js and React communities for excellent tooling

📸 Screenshots

Home Section Skills Section Experience Section


Live Demo: View Resume
Author: Mark Matthias Reuter
Contact: mmreuter@protonmail.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0