Skip to content

Latest commit

 

History

History
246 lines (199 loc) · 21.1 KB

README.md

File metadata and controls

246 lines (199 loc) · 21.1 KB

Rashid Shamloo's Portfolio

This is my personal portfolio website. I have implemented various features into it to showcase my abilities as a front-end developer. It features an original design and many unique elements and effects.

Table of contents

Links

Built with

Frameworks & Languages

My own packages used in this project

  • react-next-tilt - used in the profile card, the contact form, the showcase page, the blog page, and the packages page
  • react-flip-tilt - used in the showcase page and the packages page
  • react-next-parallax - used in the showcase page, the packages page, and the error page
  • swiper-mods - used in the slider in the showcase page

Other packages used in this project

Features

  • General Features

    • Original light/dark design with many elements changing depending on the current mode
    • Responsive design and implementation for complex/interactive elements
    • English/Japanese internationalization (i18n) using next-intl
    • Japanese line/word break using BudouX
    • Header glow animation and reveal animations using Framer Motion
    • "Scroll to top" button with light/dark mode and i18n support
    • SEO, Asset, and performance optimizations
    • All data is stored in JSON files and loaded dynamically for easy modification/scalibility
  • Pages

    • Home
      • Profile card with 3D tilt effect using react-next-tilt
      • Dynamic/Changing background/theme on scroll (inspired by: linew.co.jp) and moving background on hover
    • Showcase
      • Full-page navigation ported from Clipboard Landing Page and converted from Material-UI to TailwindCSS and instead of using react-intersection-observer and refs, I used vanilla JavaScript Intersection Observer and data attributes for a better/cleaner implementation.
      • Scroll snapping (proximity) to the top of the first section and center of other sections
      • Multiple Showcase sections to showcase my packages/skills including the Japan-Slider section.
    • Projects
      • Mock laptop/mobile preview made from scratch with support for switching between light/dark theme images and scrollable mobile image
      • Markdown parsing for the project desciption loaded from the JSON file
    • Packages
      • Usage instructions with syntax highlighting and light/dark mode support
      • Demo for packages that need one
    • Contact Me
      • Contact form with 3D tilt effect using react-next-tilt
      • Form components using Material UI with validation using react-hook-form
      • Sending emails using EmailJS with reCAPTCHA v2 validation
      • Interactive 3D postcard CSS effect with changing image based on light/dark mode (inspired by this video but made using Tailwind with adjustable number of segments)
      • Dynamic paper element that reflects the sender's name/email
    • Blog
      • Fetching posts from Dev.to API using Redux Thunk and storing them in Redux store
      • API response validation using Zod
      • Featured Articles section based on custom JSON data and Popular Articles section based on article reaction count
      • Fetching single blog posts on the server instead of client using server components
      • Custom pagination component
      • Styling blog posts using Tailwind for light/dark mode
      • Syntax highlighting using highlight.js with light/dark mode support

Screenshot

English

  • Desktop

    • Dark

      Home Page Screenshot English Dark Showcase Page Screenshot English Dark Projects Page Screenshot English Dark Packages Page Screenshot English Dark Contact Page Screenshot English Dark Blog Page Screenshot English Dark

    • Light

      Home Page Screenshot English Light Showcase Page Screenshot English Light Projects Page Screenshot English Light Packages Page Screenshot English Light Contact Page Screenshot English Light Blog Page Screenshot English Light

  • Mobile

    • Dark

      Home Page Screenshot English Dark Showcase Page Screenshot English Dark Projects Page Screenshot English Dark Packages Page Screenshot English Dark Contact Page Screenshot English Dark Blog Page Screenshot English Dark

    • Light

      Home Page Screenshot English Light Showcase Page Screenshot English Light Projects Page Screenshot English Light Packages Page Screenshot English Light Contact Page Screenshot English Light Blog Page Screenshot English Light

Japanese

  • Desktop

    • Dark

      Home Page Screenshot English Dark Showcase Page Screenshot English Dark Projects Page Screenshot English Dark Packages Page Screenshot English Dark Contact Page Screenshot English Dark Blog Page Screenshot English Dark

    • Light

      Home Page Screenshot English Light Showcase Page Screenshot English Light Projects Page Screenshot English Light Packages Page Screenshot English Light Contact Page Screenshot English Light Blog Page Screenshot English Light

  • Mobile

    • Dark

      Home Page Screenshot English Dark Showcase Page Screenshot English Dark Projects Page Screenshot English Dark Packages Page Screenshot English Dark Contact Page Screenshot English Dark Blog Page Screenshot English Dark

    • Light

      Home Page Screenshot English Light Showcase Page Screenshot English Light Projects Page Screenshot English Light Packages Page Screenshot English Light Contact Page Screenshot English Light Blog Page Screenshot English Light

Credits

Author

Rashid Shamloo