{"repo":"Alvalens/Alvalens-porto-2-nextJs","free":true,"listed":false,"github":"https://github.com/Alvalens/Alvalens-porto-2-nextJs","clone":"git clone https://github.com/Alvalens/Alvalens-porto-2-nextJs.git","description":"My second personal portfolio website created using nextJs and animated using fullpage js and motion framer. Can be used as a template for other GitHub users.","language":"JavaScript","stars":180,"topics":["framer-motion","fullpage-js","javascript","nextjs","portofolio-website","portfolio-website","nextjs-app-router","nextjs-portfolio-template","portfolio","portfolio-nextjs"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"Alvalens Portfolio Personal portfolio website built with Next.js 15, featuring fullpage scrolling, Framer Motion animations, and Tailwind CSS. The site showcases projects from a JSON data source and includes Spotify integration, real-time chat, and structured SEO. Features - Fullpage Scrolling — Section-based navigation on the home page with sidebar active indicator - Smooth Page Transitions — Fade + scale animation between routes via Framer Motion - Scroll Animations — Staggered entrance animations on skills, experience, and project sections - Dynamic Project Data — Projects loaded from a JSON file with category filtering and detail pages - Skeleton & Blur Loading — Project images load with blur placeholder and skeleton overlay - Spotify Widget — Real-time \"now playing\" display on the About page - Chat Widget — Intelliticks integration with deferred loading for performance - SEO — Per-page metadata, OpenGraph tags, and JSON-LD Person structured data - Responsive — Scales smoothly across browser zoom levels (100%–150%) Tech Stack - Framework: Next.js 15 (App Router) - Styling: Tailwind CSS - Animations: Framer Motion - Scrolling: @alvalens/react-fullpage-snap - Fonts: Poppins, Jost (self-hosted via next/font) - Analytics: Vercel Analytics - Deployment: Vercel Getting Started Prerequisites - Node.js 18+ - pnpm Installation Environment Variables Copy .env.example to .env.local and fill in the values: For Spotify API setup, see leerob.io/blog/spotify-api-nextjs. Development Prod","default_branch":null,"files":null,"tree":[],"storefront":"/r/Alvalens","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Alvalens/Alvalens-porto-2-nextJs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}