Portfolio Documentation
Overview
This repository hosts the source code for my personal portfolio website, which is available at https://karimshaban01.github.io/portfolio. The portfolio showcases my skills, projects, and achievements, providing a platform for visitors to learn more about my work and get in touch with me.
The website is built using a combination of Hack, PHP, and HTML, ensuring a dynamic and visually appealing user experience.
Features
- About Me Section: A brief introduction to who I am and my professional journey.
- Projects Showcase: Highlights of my past and ongoing projects with descriptions and links.
- Skills Section: A summary of the technical skills I possess.
- Contact Form: A functional contact form for visitors to reach out to me.
- Responsive Design: Optimized for viewing on desktops, tablets, and mobile devices.
- Dynamic Content: Built with PHP and Hack for server-side dynamic rendering.
- User-Friendly Interface: Designed to be intuitive and easy to navigate.
Tech Stack
The portfolio is developed using the following technologies:
- Hack (42.9%): For server-side scripting and dynamic content generation.
- PHP (28.6%): Backend functionality and integration.
- HTML (28.5%): Structure and content of the web pages.
Prerequisites
To run this portfolio locally, you need:
- Web Server: Apache or Nginx.
- PHP Runtime: Version 7.4 or later.
- Hack Runtime: HHVM (HipHop Virtual Machine) for executing Hack code.
- A modern web browser for viewing the portfolio.
Installation and Setup
1. Clone the Repository
git clone https://github.com/karimshaban01/portfolio.git
cd portfolio
2. Configure the Web Server
- Place the repository in your web server's root directory. For example:
- For Apache:
/var/www/html/portfolio - For Nginx:
/usr/share/nginx/html/portfolio
- For Apache:
- Ensure that the web server is configured to handle PHP and Hack files:
- For Apache, enable the PHP module:
bash sudo a2enmod php sudo service apache2 restart - For Hack, install and configure HHVM.
- For Apache, enable the PHP module:
3. Run Locally
- Start your web server.
- Open a browser and navigate to
http://localhost/portfolio.
Deployment
This portfolio is deployed using GitHub Pages. To deploy updates:
- Push changes to the
mainbranch of this repository. - GitHub Pages will automatically rebuild and deploy the site to https://karimshaban01.github.io/portfolio.
File Structure
Below is an overview of the key files and directories in the repository:
portfolio/
├── index.html # Main landing page
├── about.html # About Me page
├── projects/ # Folder containing project pages
├── contact/ # Contact form and backend scripts
├── assets/ # Images, CSS, JavaScript, and other static files
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ └── images/ # Portfolio images
├── backend/ # Server-side scripts (Hack and PHP)
├── README.md # Documentation
└── LICENSE # License information
How to Contribute
Contributions are welcome! Here’s how you can contribute:
- Fork this repository.
- Create a new branch for your feature or bug fix:
bash git checkout -b feature-name - Commit your changes:
bash git commit -m "Add feature description" - Push your branch:
bash git push origin feature-name - Open a pull request to the
mainbranch.
Known Issues
If you encounter any issues while running or viewing the portfolio, feel free to:
- Open an issue in the GitHub Issues section.
- Contact me via the contact form on the portfolio website.
License
This project is licensed under the MIT License.
Support
For questions, feedback, or support, you can:
- Open an issue in this repository.
- Use the contact form on the portfolio website.
- Reach out to me directly via my social media or email (available on the portfolio).
Log in or sign up for Devpost to join the conversation.