https://markprodehl-portfolio.web.app/
This is my personal 3D portfolio built using React, ThreeJS, React-three-fiber, Framer Motion, Tailwind, and various other libraries. The portfolio demonstrates my ability to design modern 3D web applications and showcases an overview my experience and skills. It also has a built in form for visitors to get in touch with me via email.
This project is built using the following technologies:
- React: The main framework used for building the UI of the portfolio.
- Vite: Used as the build tool and development server.
- TailwindCSS: Used for styling the components in the portfolio.
- ThreeJS: JavaScript library that allows for the creation of 3D graphics in the browser.
- Framer Motion: Used to add animations to the portfolio to enhance user experience.
- React-Three-Fiber & Drei: These are used to include three.js in the React application for 3D elements.
- React Tilt: Provides a 'tilt' effect to the UI elements.
- EmailJS: Used to enable the functionality of sending emails directly from the contact form in the portfolio.
- React Responsive: Used for making the portfolio responsive across different devices.
- React Vertical Timeline Component: Used for displaying the timeline in a vertical format.
And several other utility and helper libraries.
- Node.js installed
- npm (Node Package Manager) installed
- We'll need to install
legacy-peer-deps
to support some older versions of react. Instructions on how to do this can be found below
-
Clone the repository to your local machine. You can use the following command for this:
git clone [email protected]:markprodehl/markprodehl-portfolio.git
-
Navigate to the project folder:
cd markprodehl-portfolio
-
Install the dependencies:
npm install
Or if you run into any issues
`npm install --legacy-peer-deps @react-three/fiber @react-three/drei maath react-tilt react-vertical-timeline-component @emailjs/browser framer-motion react-router-dom`
If you need to install other dependencies run
npm install --legacy-peer-deps
-
Create a
.env
file in the root directory of your project. Inside this file, you need to set up the EmailJS configuration:VITE_APP_EMAILJS_SERVICE_ID=your-service-id VITE_APP_EMAILJS_TEMPLATE_ID=your-template-id VITE_APP_EMAILJS_PUBLIC_KEY=your-public-key
-
Once your environment variables are set up, you can start the project using:
npm start
The website will open in your default browser and you can navigate through the different sections. Visitors can fill in the contact form to send an email directly from the website.
Contributions, issues, and feature requests are welcome. Feel free to check the issues page if you want to contribute.
Distributed under the MIT License. See LICENSE
for more information.
Email: [email protected]
LinkedIn: Mark's LinkedIn