A modern, responsive portfolio website built with React, Vite, and Tailwind CSS. Features smooth animations, typewriter effects, and a clean professional design.
- Responsive Design: Fully responsive layout that works on all devices
- Smooth Animations: Typewriter effect for intro text and scroll animations
- Modern UI: Clean, professional design with gradient effects
- Skills Section: Visual progress bars for technical skills
- Services Showcase: Detailed service offerings with icons
- Education & Experience Timeline: Professional background display
- Contact Section: Social media links (GitHub, LinkedIn)
- Fast Performance: Built with Vite for optimal loading speeds
- Frontend Framework: React 18
- Build Tool: Vite
- Styling: Tailwind CSS v4
- Icons: Lucide React
- Animations: Custom CSS animations
- JavaScript: ES6+
Before you begin, ensure you have the following installed:
- Node.js (version 14 or higher)
- npm (comes with Node.js) or yarn
- Git (for cloning the repository)
git clone https://github.com/ethelynmatias/portfolio.git
cd portfolionpm installOr if you prefer yarn:
yarn installnpm run devOr with yarn:
yarn devThe site will be available at http://localhost:5173
npm run buildOr with yarn:
yarn buildThis will create a dist folder with optimized production files.
npm run previewOr with yarn:
yarn previewYou can serve the production build using:
npx serve dist -p 3000The production site will be available at http://localhost:3000
- Install gh-pages:
npm install --save-dev gh-pages- Add to package.json scripts:
"predeploy": "npm run build",
"deploy": "gh-pages -d dist"- Deploy:
npm run deploy- Build the project:
npm run build- Drag and drop the
distfolder to Netlify
- Install Vercel CLI:
npm install -g vercel- Deploy:
vercelportfolio/
βββ public/ # Static assets
β βββ images/ # Image files
βββ src/ # Source files
β βββ components/ # React components
β βββ CVPortfolio.jsx # Main portfolio component
β βββ index.css # Global styles and animations
β βββ main.jsx # Application entry point
βββ .gitignore # Git ignore file
βββ index.html # HTML template
βββ package.json # Project dependencies
βββ postcss.config.js # PostCSS configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ vite.config.js # Vite configuration
βββ README.md # Project documentation
Edit src/CVPortfolio.jsx to update:
- Name and title
- About section content
- Skills and percentages
- Education and experience
- Contact information
- Social media links
Modify the color scheme in:
src/CVPortfolio.jsx(inline styles)src/index.css(global styles)tailwind.config.js(Tailwind configuration)
In src/CVPortfolio.jsx, update the portfolioItems array:
const portfolioItems = [
{
id: 1,
title: "Project Name",
category: "web",
image: "/images/project.jpg",
description: "Project description"
},
// Add more items...
];| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
If port 5173 is already in use, you can specify a different port:
npm run dev -- --port 3000Clear cache and reinstall:
rm -rf node_modules package-lock.json
npm installCheck Node.js version:
node --versionEnsure it's version 14 or higher.
This project is open source and available under the MIT License.
Contributions, issues, and feature requests are welcome!
- GitHub: @ethelynmatias
- Portfolio: https://github.com/ethelynmatias/portfolio
Made with β€οΈ using React + Vite