Skip to content

Amazing 3D Web Developer Portfolio Website with awesome graphics - built with React & Three.js. ▢️ Watch Video Tutorial πŸ”—https://youtu.be/uAFUHCpnz3E

License

Notifications You must be signed in to change notification settings

XevenTech/3d-portfolio-website

Repository files navigation

3D Portfolio

GitHub repo size Stars Fork YouTube Video Views

demo

🌐 Live Demo

Explore the live demonstration of the project: 3d-portfolio-website

πŸ“ Description

3D Portfolio is a well-designed and fully functional portfolio website that is built with React.js and Three.js. It is a fully responsive website that works well on all devices.

Folder Structure
3d-portfolio-website/
β”œβ”€β”€ src/
β”œ   β”œβ”€β”€ App.tsx
β”œ   β”œβ”€β”€ globals.css
β”œ   β”œβ”€β”€ main.tsx
β”œ   β”œβ”€β”€ vite.env.d.ts
β”œ   β”œβ”€β”€ components/
β”œ   β”œ   β”œβ”€β”€ atoms/
β”œ   β”œ   β”œ   └── Header.tsx
β”œ   β”œ   β”œβ”€β”€ canvas/
β”œ   β”œ   β”œ   β”œβ”€β”€ Ball.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Computers.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Earth.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Stars.tsx
β”œ   β”œ   β”œ   └── index.ts
β”œ   β”œ   β”œβ”€β”€ layout/
β”œ   β”œ   β”œ   β”œβ”€β”€ Loader.tsx
β”œ   β”œ   β”œ   └── Navbar.tsx
β”œ   β”œ   β”œβ”€β”€ sections/
β”œ   β”œ   β”œ   β”œβ”€β”€ About.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Contact.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Experience.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Feedbacks.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Hero.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Tech.tsx
β”œ   β”œ   β”œ   β”œβ”€β”€ Works.tsx
β”œ   β”œ   β”œ   └── page.tsx
β”œ   β”œ   └── index.ts
β”œ   β”œβ”€β”€ constants/
β”œ   β”œ   β”œβ”€β”€ config.ts
β”œ   β”œ   β”œβ”€β”€ styles.ts
β”œ   β”œ   └── index.ts
β”œ   β”œβ”€β”€ hoc/
β”œ   β”œ   β”œβ”€β”€ SectionWrapper.tsx
β”œ   β”œ   └── index.ts
β”œ   β”œβ”€β”€ utils/
β”œ   β”œ   └── motion.ts
β”œ   β”œβ”€β”€ types/
β”œ   β”œ   └── index.d.ts
β”œ   └── assets/
β”œ       β”œβ”€β”€ company/
β”œ       β”œ   └── [[...]].{svg,png}
β”œ       β”œβ”€β”€ tech/
β”œ       β”œ   └── [[...]].{svg,png}
β”œ       β”œβ”€β”€ [[...]].{svg,png}
β”œ       └── index.ts
β”œβ”€β”€ public/
β”œ   β”œβ”€β”€ desktop_pc
β”œ   β”œ   β”œβ”€β”€ textures/[[...]].png
β”œ   β”œ   β”œβ”€β”€ license.txt
β”œ   β”œ   β”œβ”€β”€ scene.bin
β”œ   β”œ   └── scene.gltf
β”œ   β”œβ”€β”€ planet
β”œ   β”œ   β”œβ”€β”€ textures/[[...]].png
β”œ   β”œ   β”œβ”€β”€ license.txt
β”œ   β”œ   β”œβ”€β”€ scene.bin
β”œ   β”œ   └── scene.gltf
β”œ   β”œβ”€β”€ logo.png
β”œ   └── logo.svg
β”œβ”€β”€ .env
β”œβ”€β”€ .eslintignore
β”œβ”€β”€ .eslintrc.cjs
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .prettierignore
β”œβ”€β”€ .prettierrc.cjs
β”œβ”€β”€ index.html
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json
β”œβ”€β”€ postcss.config.cjs
β”œβ”€β”€ tailwind.config.cjs
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tsconfig.node.json
└── vite.config.js

πŸ“– Table of Contents

Table of Contents

✨ Technologies Used

3D Portfolio is built using the following technologies:
  • TypeScript: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
  • Vite: Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects.
  • React.js: React is a free and open-source front-end JavaScript library for building user interfaces or UI components.
  • Three.js: Three.js is a cross-browser JavaScript library and application programming interface used to create and display animated 3D computer graphics in a web browser using WebGL.
  • Framer Motion: Framer Motion is a production-ready motion library for React.
  • Tailwind CSS: Tailwind CSS is a utility-first CSS framework for rapidly building custom user interfaces.
  • ESLint: ESLint is a static code analysis tool for identifying problematic patterns found in JavaScript code.
  • Prettier: Prettier is an opinionated code formatter.
  • Vercel: Vercel is a cloud platform for frontend developers, providing the frameworks, workflows, and infrastructure to build a faster, more personalized Web.

Technologies Used

🧰 Get Started

To get this project up and running in your development environment, follow these step-by-step instructions.

πŸ“‹ Prerequisites

In order to install and run this project locally, you would need to have the following installed on your local machine.

βš™οΈ Installation and Run Locally

Step 0:

Note ‼️ the application uses EmailJS in order to send emails using client-side, therefore, you need to create EmailJS account here and sets the VITE_EMAILJS_SERVICE_ID, VITE_EMAILJS_TEMPLATE_ID, and VITE_EMAIL_JS_ACCESS_TOKEN environment variables in .env file.

Step 1:

Download or clone this repo by using the link below:

git clone https://github.com/XevenTech/3d-portfolio-website.git

Step 2:

Execute the following command in the root directory of the downloaded repo in order to install dependencies:

npm install

Step 3:

Execute the following command in order to run the development server locally:

npm run dev

Step 4:

Open http://localhost:5173 with your browser to see the result.

πŸ“œ Scripts

All scripts are defined in the package.json file. Here is a list of all scripts:

Script Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:5137
npm run build Build your production site to ./dist/
npm run preview Boot up a local static web server
npm run lint Run ESLint
npm run ts:check Perform type-checking

πŸ”’ Environment Variables

Environment variables[^3] can be used for configuration. They must be set before running the app.

Environment variables are variables that are set in the operating system or shell, typically used to configure programs.

React.js 18 3D Portfolio uses EmailJS as external service. You need to create an account and get the required credentials to run the app.

Create a .env file in the root directory of the project and add the following environment variables:

VITE_EMAILJS_SERVICE_ID=<VITE_EMAILJS_SERVICE_ID>
VITE_EMAILJS_TEMPLATE_ID=<VITE_EMAILJS_TEMPLATE_ID>
VITE_EMAIL_JS_ACCESS_TOKEN=<VITE_EMAIL_JS_ACCESS_TOKEN>

πŸš€ Deployment

Deploy to production (manual)

You can create an optimized production build with the following command:

npm run build

Deploy on Vercel (recommended)

The easiest way to deploy this Next.js app is to use the Vercel Platform.

Deploy with Vercel

Deploy on Netlify

You can also deploy this Next.js app with Netlify.

Deploy with Netlify

Check out Next.js deployment documentation for more details.

πŸ’Ž Acknowledgements

We'd like to express our gratitude to the following technologies who helped us with this project and made it possible:

πŸ“ž Contact Us

LinkedIn

πŸ“‹ License

licensed as MIT and is free to use β€” See LICENSE for more details.

▢️ Watch Video Tutorial

Watch Video

❀ Thank you for reading, here's a cat:

Cat

About

Amazing 3D Web Developer Portfolio Website with awesome graphics - built with React & Three.js. ▢️ Watch Video Tutorial πŸ”—https://youtu.be/uAFUHCpnz3E

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project