Skip to content

This is my personal portfolio website where I showcase my background, projects, certifications, experiences, and interests.

Notifications You must be signed in to change notification settings

JosephDavisC/Portfolio-Website

Repository files navigation

Joseph Davis Chamdani Logo

Joseph Davis Chamdani – Portfolio Website

Website


πŸ“Œ About

This is my personal portfolio website where I showcase my background, projects, certifications, experiences, and interests.

The site also highlights my journey as an Informatics student @ University of Washington and includes personal touches like my love for tennis 🎾 and coffee β˜•.

πŸ‘‰ Live Site: joechamdani.com


πŸš€ Tech Stack

  • βš›οΈ React (TypeScript) – Frontend framework
  • 🎨 TailwindCSS – Styling
  • 🎬 Framer Motion – Animations
  • πŸ–ΌοΈ Lucide React Icons – Icons
  • 🌐 Vite – Build tool
  • πŸ”€ React Router – Client-side routing for blog pages
  • πŸͺ– React Helmet – SEO meta tags management
  • βœ‰οΈ EmailJS – Contact form email integration
  • ☁️ Hostinger – Hosting

πŸ“‚ Project Structure

src/
 β”œβ”€β”€ components/       # Reusable React components
 β”‚    β”œβ”€β”€ sections/   # Main page sections
 β”‚    β”‚    β”œβ”€β”€ Hero.tsx
 β”‚    β”‚    β”œβ”€β”€ About.tsx
 β”‚    β”‚    β”œβ”€β”€ Portfolio.tsx
 β”‚    β”‚    β”œβ”€β”€ Blog.tsx
 β”‚    β”‚    β”œβ”€β”€ Certifications.tsx
 β”‚    β”‚    β”œβ”€β”€ Milestones.tsx
 β”‚    β”‚    β”œβ”€β”€ Talks.tsx
 β”‚    β”‚    β”œβ”€β”€ TennisCoffeeSection.tsx
 β”‚    β”‚    └── Contact.tsx
 β”‚    └── shared/     # Shared components
 β”‚         β”œβ”€β”€ Navbar.tsx
 β”‚         β”œβ”€β”€ Footer.tsx
 β”‚         β”œβ”€β”€ ContactForm.tsx
 β”‚         └── RacketCard.tsx
 β”‚
 β”œβ”€β”€ data/             # JSON data for content
 β”‚    β”œβ”€β”€ milestones.json
 β”‚    β”œβ”€β”€ credentials.json
 β”‚    └── articles.json
 β”‚
 β”œβ”€β”€ hooks/            # Custom React hooks
 β”œβ”€β”€ lib/              # Utilities
 β”œβ”€β”€ pages/            # Page-level components
 β”‚    β”œβ”€β”€ Index.tsx   # Homepage
 β”‚    └── ArticlePage.tsx  # Blog article pages
 β”œβ”€β”€ App.tsx           # Main app entry with routing
 └── main.tsx          # Vite bootstrap

public/
 β”œβ”€β”€ article_media/    # Blog article images
 β”‚    └── bc-hacks-2024/
 β”œβ”€β”€ images/           # Portfolio images
 β”œβ”€β”€ logos/            # Logos
 └── media/            # Media files (screenshots, certs, etc.)

scripts/
 └── generate-blog-meta.js  # Generates static HTML for SEO

⚑ Features

  • πŸ“– Hero, About, Portfolio, Blog & Articles, Certifications, Milestones, Talks
  • πŸ“ Blog Section with full article pages and SEO meta tags for social media sharing
  • 🎾 Lifestyle Section (Tennis & Coffee)
  • βœ‰οΈ Contact Form with EmailJS integration and auto-reply confirmation
  • 🎨 Dark theme + glassmorphism design
  • πŸ“± Responsive layout for all devices
  • πŸ”— Live links to projects, certificates, and experiences
  • πŸ” SEO optimized with Open Graph tags for LinkedIn, Facebook, Twitter, WhatsApp

πŸ–ΌοΈ Screenshots

Home Section

Home


πŸ› οΈ Setup & Installation

Clone the repo and install dependencies:

git clone https://github.com/JosephDavisC/Portfolio-Website.git
cd Portfolio-Website
npm install

Environment Variables

For the contact form to work, create a .env file in the root directory:

VITE_EMAILJS_SERVICE_ID=your_service_id
VITE_EMAILJS_TEMPLATE_ID=your_template_id
VITE_EMAILJS_AUTOREPLY_TEMPLATE_ID=your_autoreply_template_id
VITE_EMAILJS_PUBLIC_KEY=your_public_key

Run locally:

npm run dev

Build for production:

npm run build

β˜•οΈ Deployment

This site is deployed on Hostinger with a custom domain: joechamdani.com.
You can also easily deploy it on either Vercel or Netlify.


⚠️ Note: Some browser extensions (e.g. Better Campus, readability tools) may alter the site’s appearance.
For the best experience, please view with extensions disabled or whitelist this site.


About

This is my personal portfolio website where I showcase my background, projects, certifications, experiences, and interests.

Topics

Resources

Stars

Watchers

Forks