Here is the folder structure of this app.
3d-portfolio/
|- public/
|-- desktop_pc/
|-- planet/
|-- apple-touch-icon.png
|-- favicon.ico
|-- favicon16.png
|-- favicon32.png
|- src/
|-- assets/
|--- company/
|--- projects/
|--- socials/
|--- tech/
|--- testimonials/
|--- index.ts
|-- components/
|--- canvas/
|--- about.tsx
|--- banner.tsx
|--- contact.tsx
|--- experience.tsx
|--- feedbacks.tsx
|--- footer.tsx
|--- hero.tsx
|--- index.ts
|--- loader.tsx
|--- navbar.tsx
|--- tech.tsx
|--- works.tsx
|-- constants/
|--- index.ts
|-- hoc/
|--- index.ts
|--- section-wrapper.tsx
|-- utils/
|--- lib.ts
|--- motion.ts
|-- app.tsx
|-- env.d.ts
|-- index.css
|-- main.tsx
|-- styles.ts
|- .env
|- .env.example
|- .gitignore
|- index.html
|- package-lock.json
|- package.json
|- postcss.config.cjs
|- tailwind.config.ts
|- tsconfig.json
|- vite.config.ts
- Make sure Git and NodeJS is installed.
- Clone this repository to your local computer.
- Create
.env
file in root directory. - Contents of
.env
:
# .env
# email js configuration
VITE_APP_SERVICE_ID=XXXXXXXXXXXXXXXX
VITE_APP_TEMPLATE_ID=XXXXXXXXXXXXXXXX
VITE_APP_EMAILJS_KEY=XXXXXXXXXXXXXXXX
VITE_APP_EMAILJS_RECIEVER=[email protected]
- Visit the website where you are obtaining the service ID.
- Log in to your account or sign up if needed.
- Navigate to the section related to API keys or services.
- Find and copy the Service ID associated with your account.
- Visit EmailJS Website.
- Log in to your account or sign up if necessary.
- Access the section for email templates or integration.
- Locate the template you want to use and copy its Template ID.
- Go to the EmailJS website.
- Log in to your account or create one if you haven't.
- Navigate to the dashboard or settings page.
- Look for API keys or integration settings.
- Copy the Public Key associated with your account.
- Choose the email address where you want to receive emails.
- If needed, create an email address or use an existing one.
- Ensure that the chosen email address is accessible and ready to receive emails.
-
Open terminal in root directory. Run
npm install --legacy-peer-deps
oryarn install --legacy-peer-deps
. -
Now app is fully configured 👍 and you can start using this app using either one of
npm run dev
oryarn dev
.
NOTE: Please make sure to keep your API keys and configuration values secure and do not expose them publicly.
You might encounter some bugs while using this app. You are more than welcome to contribute. Just submit changes via pull request and I will review them before merging. Make sure you follow community guidelines.
Useful resources and dependencies that are used in 3D Portfolio.
- @emailjs/browser: ^3.11.0
- @react-three/drei: ^9.96.1
- @react-three/fiber: ^8.13.4
- clsx: ^2.1.0
- framer-motion: ^10.12.18
- maath: ^0.10.7
- react: ^18.2.0
- react-dom: ^18.2.0
- react-router-dom: ^6.21.3
- react-tilt: ^1.0.2
- react-vertical-timeline-component: ^3.6.0
- sonner: ^1.3.1
- tailwind-merge: ^2.2.1
- three: ^0.160.1
- @types/react: ^18.2.48
- @types/react-dom: ^18.2.18
- @types/react-vertical-timeline-component: ^3.3.6
- @types/tailwindcss: ^3.1.0
- @vitejs/plugin-react: ^4.0.3
- autoprefixer: ^10.4.17
- postcss: ^8.4.31
- tailwindcss: ^3.3.3
- typescript: ^5.3.3
- vite: ^5.0.12
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
The easiest way to deploy your Vite.js app is to use the Netlify Platform.
Check out Vite.js deployment documentation for more details.
You can also give this repository a star to show more people and they can use this repository.