Skip to content

rebeccadrennan/portfolio-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Rebecca Drennan's Portfolio

A modern, responsive portfolio website showcasing projects, skills, and contact information with beautiful animations and smooth interactions.

React TypeScript Vite Bootstrap License: MIT CI/CD Code style: Prettier Linting: ESLint

πŸ‘€ Preview

Portfolio website preview

✨ Features

  • 🎨 Smooth Animations - Typewriter hero effect, reveal-on-scroll transitions, and animated custom cursor
  • 🎭 Theme Toggle - Light/dark mode support for personalized viewing experience
  • πŸ“§ Contact Form - Fully functional email integration with EmailJS for instant messaging
  • πŸ“± Responsive Design - Mobile-first Bootstrap layout adapting beautifully across all devices
  • β™Ώ Accessible - Semantic HTML, ARIA labels, keyboard navigation, and screen reader support
  • ⚑ Fast Loading - Optimized with Vite for quick development and production builds
  • πŸ›£οΈ Smooth Routing - Client-side navigation with React Router for seamless page transitions
  • 🌐 SEO Ready - Meta tags, structured data, and Open Graph support

πŸ› οΈ Tech Stack

Technology Purpose
React 18 UI framework
TypeScript Type-safe JavaScript
Vite Lightning-fast build tool
React Router v6 Client-side routing
Bootstrap 5 Responsive CSS framework
React Bootstrap Bootstrap components as React components
EmailJS Email sending without backend
React Icons Icon library
Typewriter Effect Animated text typing

πŸš€ Quick Start

Prerequisites

  • Node.js 16+
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/yourusername/portfolio-react.git
cd portfolio-react

# Install dependencies
npm install

# Start development server
npm run dev

The site will be available at http://localhost:5173/

πŸ“ Available Scripts

# Development server with hot reload
npm run dev

# Build for production
npm run build

# Preview production build locally
npm run preview

# Run tests
npm run test

# Deploy to GitHub Pages
npm run deploy

πŸ“ Project Structure

src/
β”œβ”€β”€ app/              # Main App component and routing
β”œβ”€β”€ components/       # Reusable components (header, footer, etc.)
β”œβ”€β”€ pages/           # Page components (home, about, contact, portfolio)
β”œβ”€β”€ content/         # Content data files
β”œβ”€β”€ assets/          # Images, gifs, and media
β”œβ”€β”€ hooks/           # Custom React hooks
β”œβ”€β”€ styles/          # Global styles
└── index.tsx        # Application entry point

🎨 Customization

Update Content

Edit the files in src/content/ to personalize your portfolio:

  • site.ts - Site metadata and settings
  • about.ts - About section content
  • portfolio.ts - Project showcase
  • contact.ts - Contact information

Theme Colors

Modify the CSS variables in src/index.css to match your brand colors.

Environment Variables

Create a .env.local file (copy from .env.example):

VITE_EMAILJS_SERVICE_ID=your_emailjs_service_id
VITE_EMAILJS_TEMPLATE_ID=your_emailjs_template_id
VITE_EMAILJS_PUBLIC_KEY=your_emailjs_public_key

πŸš€ Deployment

GitHub Pages

npm run predeploy
npm run deploy

Vercel

  1. Connect your repository to Vercel
  2. Set environment variables in project settings
  3. Deploy with a single click

Netlify

  1. Connect your repository
  2. Set build command: npm run build
  3. Set publish directory: build

β™Ώ Accessibility

This portfolio is built with accessibility in mind:

  • Semantic HTML structure
  • ARIA labels and descriptions
  • Keyboard navigation support
  • Color contrast compliance
  • Screen reader optimization

πŸ“š Documentation

πŸ“„ License

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

🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the Contributing Guide for more details.

πŸ’¬ Get in Touch

Have questions or feedback? Feel free to reach out through the contact form on the website or open an issue on GitHub.


About

Modern developer portfolio built with React 18 + TypeScript, React Router, Bootstrap, and EmailJS. Features animated UI (typewriter, custom cursor, scroll reveals), responsive multi-page architecture, CI-ready build/test pipeline and an AI Portfolio Assistant chat interface for interactive exploration of projects, skills, and full-stack experience.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors