π Table of Content
- β¨ Introduction
- π§© Features
- π» Tech Stack
- ποΈ Project Structure
- βοΈ Getting Started
- π¬ Contact
- π«°π» Support
- βοΈ License
Welcome to the personal portfolio website of a Full-Stack Engineer. This site is thoughtfully designed to blend elegance with technology, showcasing three key aspects: projects, education, and skills. Built with a modern tech stack and refined UI/UX, it also features immersive 3D elements to enhance the interactive experience.
π¨ Multi-section layout β Projects, Education, Skills, and Contact.
π± Responsive design β With Tailwind CSS, it is optimized across mobile, tablet, and desktop screens.
ποΈ Smooth Animations β Powered by GSAP for scroll interactions.
π½οΈ Remarkable 3D - Powered by Three.JS, an interactive 3D models with realistic lighting and shadows.
π¬ Functional Contact Form β Integrated with EmailJS.
and many more, including code architecture and reusability.
portfolio/
βββ public/
| βββ *images/ # Images
| βββ models/ # 3D Models
|
βββ src/
| βββ components/ # Reusable UI components
| βββ *constants/ # Static data
| βββ hooks/ # Custom React hooks
| βββ sections/ # Website's sections
| βββ App.jsx # Root component
| βββ index.css # Global styles
| βββ main.jsx # App entry point
|
βββ +.env # Environment variables
βββ .gitignore # Git ignored folders/files
βββ eslint.config.js # ESLint config file
βββ *index.html # Project's main HTML file
βββ .LICENSE # Legal license
βββ package.json # Environment required packages
βββ README.md # Project documentation
βββ vite.config.js # Vite config file
- Folders/Files prefixed with
*has the content that needs to be changed to match your needs.- Folders/Files prefixed with
+needs to be created.
Follow these steps to set up the project locally on your machine.
# Clone the repository
git clone https://github.com/AnasAlhwid/portfolio.git
cd portfolio # Navigate to the directory
npm install # Install dependenciesCreate a new file named .env in the root of your project and add the following content:
VITE_APP_EMAILJS_SERVICE_ID=
VITE_APP_EMAILJS_TEMPLATE_ID=
VITE_APP_EMAILJS_PUBLIC_KEY=Replace the placeholder values with your actual EmailJS credentials.
npm run dev # Start development serverOpen http://localhost:5173 in your browser to view the project.
npm run lint # Lints the code with ESLintnpm run build # Builds the project
npm run preview # Serves the production build locally
