graphic-designer-portfolio

Ariel Pinero - Graphics Designer Portfolio

A modern, elegant portfolio website built with Next.js 14, featuring smooth animations, responsive design, and an intuitive user experience.

Features

Getting Started

Prerequisites

Installation

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

Customization Guide

1. Update Personal Information

Navigation & Footer (components/Navigation.tsx, components/Footer.tsx):

Metadata (app/layout.tsx):

2. Replace Portfolio Projects

Portfolio Data (lib/data.ts):

Supported image formats: JPG, PNG, WebP, SVG

3. Update About Page

About Content (app/about/page.tsx):

4. Customize Contact Information

Contact Page (app/contact/page.tsx):

5. Connect Email Service (Optional)

The contact form currently logs submissions to the console. To receive actual emails:

Option A: Use Resend

npm install resend

Update app/api/contact/route.ts:

import { Resend } from 'resend';

const resend = new Resend(process.env.RESEND_API_KEY);

// In POST handler:
await resend.emails.send({
  from: 'onboarding@resend.dev',
  to: 'your-email@example.com',
  subject: `New Contact Form: ${name}`,
  html: `<p><strong>From:</strong> ${name} (${email})</p>
         <p><strong>Project Type:</strong> ${projectType}</p>
         <p><strong>Message:</strong> ${message}</p>`
});

Option B: Use SendGrid, Mailgun, or other email service

6. Customize Theme Colors

Global Styles (app/globals.css):

7. Add Your Images

Replace placeholder images in public/projects/ with your actual work:

Deployment

  1. Push your code to GitHub
  2. Visit vercel.com
  3. Import your repository
  4. Vercel will automatically detect Next.js and deploy

Deploy to Netlify

  1. Push your code to GitHub
  2. Visit netlify.com
  3. Import your repository
  4. Build command: npm run build
  5. Publish directory: .next

Environment Variables

If using email services, add these to your deployment platform:

Project Structure

├── app/
│   ├── layout.tsx          # Root layout with navigation
│   ├── page.tsx            # Home/portfolio gallery
│   ├── about/page.tsx      # About page
│   ├── contact/page.tsx    # Contact page
│   └── api/contact/route.ts # Contact form API
├── components/
│   ├── Navigation.tsx      # Header navigation
│   ├── Footer.tsx          # Footer component
│   ├── PortfolioGrid.tsx   # Portfolio gallery
│   ├── ProjectCard.tsx     # Project card component
│   ├── ProjectModal.tsx    # Project lightbox modal
│   ├── ContactForm.tsx     # Contact form
│   └── AnimatedSection.tsx # Animation wrapper
├── lib/
│   └── data.ts            # Portfolio data
└── public/
    └── projects/          # Portfolio images

Technologies Used

Support

For issues or questions, please open an issue on GitHub or contact the developer.

License

This project is open source and available under the MIT License.