A modern, responsive portfolio website built with React, TypeScript, and Tailwind CSS.
- Seamless transitions between SVG background patterns
- Automated cycling every 4 seconds using React hooks
- Smooth opacity transitions for a polished look
- Clean and modern UI components
- Mobile-first approach
- Custom styling using Tailwind's utility classes
- Smooth scrolling between sections
- Dynamic color schemes for technology labels
- Interactive project tiles with hover effects
- Technology label system with color coding
- Support for project images
- Responsive grid layout (1 column on mobile, 2 columns on desktop)
- Prevents spam by using Google reCAPTCHA
- Displays error message if reCAPTCHA verification is not completed
- Shows success message upon successful form submission
- React 18
- TypeScript
- Tailwind CSS
- Vite
- Clone the repository:
git clone git@github.com:Lmx154/portfolio.git
- Navigate to the project directory:
cd portfolio - Install dependencies:
npm install
- Create a
.envfile in the root directory of the project. - Add the following environment variable to the
.envfile:ReplaceVITE_RECAPTCHA_SITE_KEY=your-recaptcha-site-keyyour-recaptcha-site-keywith your actual reCAPTCHA site key.
- Sign up for a free account at EmailJS.com
- Create a new Email Service (e.g., Gmail, Outlook, etc.)
- Create an email template with the following variables:
{{to_name}}: Your name (recipient){{from_name}}: Sender's name{{from_email}}: Sender's email{{message}}: Message content
- Add these environment variables to your
.envfile:Replace the values with your actual EmailJS credentials from your dashboard.VITE_EMAILJS_SERVICE_ID=your-service-id VITE_EMAILJS_TEMPLATE_ID=your-template-id VITE_EMAILJS_PUBLIC_KEY=your-public-key
To start the development server, run:
npm run devTo build the project for production, run:
npm run buildTo preview the production build, run:
npm run previewThis project is licensed under the MIT License.