3.3 KiB
3.3 KiB
Shane Simpson Portfolio
This is a Next.js 15 application built with TypeScript, Tailwind CSS, and shadcn/ui, serving as a portfolio website.
Features
- Modern UI: Built with shadcn/ui components for a sleek and accessible user interface.
- Responsive Design: Utilizes Tailwind CSS for a mobile-first and responsive layout.
- Theme Toggling: Includes a theme toggle for light/dark mode functionality.
- Smooth Scrolling: Integrated Lenis for smooth scrolling experiences.
- Collapsible Sections: Interactive collapsible areas for content organization.
- Dynamic Studio Strip: A component to display a strip of studios or projects.
Technologies Used
- Next.js 15 (App Router): React framework for building performant web applications.
- React 19: JavaScript library for building user interfaces.
- TypeScript: Strongly typed superset of JavaScript for enhanced code quality.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- shadcn/ui: Reusable UI components built with Radix UI and Tailwind CSS.
- Lenis: A smooth scrolling library.
Getting Started
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://git.biohazardvfx.com/Nicholai/shane-simpson.git cd shane-simpson -
Install dependencies:
npm install # or yarn install # or pnpm install -
Run the development server:
npm run dev # or yarn dev # or pnpm devOpen http://localhost:3000 with your browser to see the result.
Project Structure
.
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js App Router (layout, pages, global styles)
│ │ ├── favicon.ico
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ └── page.tsx
│ ├── components/ # Reusable UI components
│ │ ├── collapsible-area.tsx
│ │ ├── studios-strip.tsx
│ │ ├── theme-toggle.tsx
│ │ ├── footer/
│ │ │ └── site-footer.tsx
│ │ ├── providers/ # Context providers
│ │ │ ├── lenis-root.tsx
│ │ │ └── theme-provider.tsx
│ │ └── ui/ # shadcn/ui components
│ │ ├── aspect-ratio.tsx
│ │ ├── badge.tsx
│ │ ├── breadcrumb.tsx
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── scroll-area.tsx
│ │ ├── separator.tsx
│ │ └── tabs.tsx
│ ├── lib/ # Utility functions and configurations
│ │ ├── links.ts
│ │ └── utils.ts
│ └── types/ # TypeScript custom type definitions
│ └── css.d.ts
├── .gitignore # Git ignore file
├── components.json # shadcn/ui configuration
├── eslint.config.mjs # ESLint configuration
├── next.config.ts # Next.js configuration
├── package.json # Project dependencies and scripts
├── postcss.config.mjs # PostCSS configuration
└── tsconfig.json # TypeScript configuration