/portfolio

A portfolio website to get those internships ;)

Primary LanguageTypeScriptOtherNOASSERTION

Sam Qureshi's Portfolio Terminal

Welcome to my portfolio, which is built to resemble a terminal interface. This project showcases my experience, projects, and contact information, all accessible through terminal commands. The site is fully responsive and adjusts the ASCII art dynamically to fit any screen size, from desktop to mobile.

Features

  • Whois Command: Displays information about me, including education and background.
  • Experience Command: Lists my professional experience.
  • Projects Command: Provides an overview of my projects.
  • Contact Command: Displays my contact information.
  • Weather Command: Shows the current weather and a 3-day forecast for a given city or your current location.
  • Man Command: Describes how to use the available commands.
  • Clear Command: Clears the terminal output.
  • Help Command: Lists all available commands with brief descriptions.
  • Responsive Design: The site is fully responsive, ensuring a great user experience across all devices.
  • Dynamic ASCII Art: The ASCII art scales dynamically to fit the screen size.

Table of Contents

Installation

To set up this project locally, follow these steps:

  1. Clone the repository:
    git clone https://github.com/blitzwolfz/portfolio.git
  2. Navigate to the project directory:
    cd portfolio
  3. Install the dependencies:
    npm install
  4. Run the project:
    npm run dev
  5. Open your browser: Visit http://localhost:5713 or http://localhost:port to view the terminal interface in action.

Usage

Once the site is running, you'll be presented with a terminal-like interface. You can type commands to interact with the portfolio and view different sections.

Commands

  • whois: Display information about Sam Qureshi.
  • experience: Show work experience.
  • projects: List projects.
  • contact: Show contact information.
  • weather [city]: Display the current weather and a 3-day forecast for the given city. If no city is provided, it uses your current location.
  • sudo: (Joke) Attempt to execute with superuser privileges.
  • man: Display a manual for commands.
  • clear: Clear the terminal output.
  • help: Display a list of available commands with brief descriptions.

Technologies Used

  • React: A JavaScript library for building user interfaces.
  • TypeScript: A statically typed superset of JavaScript that compiles to plain JavaScript.
  • Styled-Components: A library for styling React components using tagged template literals.
  • Open-Meteo API: A free and open-source weather API for fetching weather data.
  • IPAPI: A service for obtaining geolocation data based on IP addresses.
  • Vite: A fast development build tool for modern web projects.

Contributing

This project is open for contributions, but due to the licensing terms, any contributions must be submitted as pull requests for review. Please do not fork and create derivative works without explicit permission.

License

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

You are free to:

  • Share: Copy and redistribute the material in any medium or format.

Under the following terms:

  • Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • Non-Commercial: You may not use the material for commercial purposes.
  • No Derivatives: If you remix, transform, or build upon the material, you may not distribute the modified material.

For more details, please see the LICENSE file.