An open API service indexing awesome lists of open source software.

https://github.com/mrbubbles-src/portfolio

Modern fullstack portfolio built with Next.js 15, Tailwind CSS v4, and shadcn/ui β€” featuring projects, skills, dark mode, and email integration via Resend.
https://github.com/mrbubbles-src/portfolio

fullstack-development nextjs portfolio portfolio-website react resend shadcn-ui tailwindcss typescript vercel

Last synced: 3 months ago
JSON representation

Modern fullstack portfolio built with Next.js 15, Tailwind CSS v4, and shadcn/ui β€” featuring projects, skills, dark mode, and email integration via Resend.

Awesome Lists containing this project

README

          

# πŸ’» mrbubbles-src Portfolio

This is my personal developer portfolio, built with **Next.js 15**, **App Router**, **TypeScript**, **Tailwind CSS v4**, **shadcn/ui**, and **react-hook-form**.

It showcases projects, skill stacks, contact capabilities, and SEO-ready pages with modern UI components and email delivery via Resend.

---

## πŸš€ Tech Stack

- **Framework**: [Next.js 15](https://nextjs.org)
- **Styling**: [Tailwind CSS v4](https://tailwindcss.com)
- **Components**: [shadcn/ui](https://ui.shadcn.com)
- **Forms**: `react-hook-form` with shadcn form integration
- **Email**: [Resend](https://resend.com) API with autoresponder
- **Hosting**: [Vercel](https://vercel.com)
- **SEO**: Dynamic metadata, Open Graph images via `@vercel/og`
- **Assets**: Favicon, social previews, and dark/light mode branding

---

## πŸ“¦ Getting Started

```bash
# Install dependencies
npm install

# Start development server
npm run dev

Then open http://localhost:3000 in your browser.

```

---

## πŸ“ Project Structure

```text
app/ # Next.js App Router
β”œβ”€ globals.css # Tailwind base styles
β”œβ”€ [lang]/ # Locale segment (de/en)
β”‚ β”œβ”€ layout.tsx # ThemeProvider, Navbar, Footer
β”‚ β”œβ”€ loading.tsx # Locale loading
β”‚ β”œβ”€ not-found.tsx # Locale 404
β”‚ β”œβ”€ page.tsx # /[lang] (landing)
β”‚ β”œβ”€ cv/ # /[lang]/cv (CV viewer)
β”‚ β”‚ └─ page.tsx
β”‚ β”œβ”€ datenschutz/ # /[lang]/datenschutz (privacy)
β”‚ β”‚ └─ page.tsx
β”‚ β”œβ”€ impressum/ # /[lang]/impressum (legal notice)
β”‚ β”‚ └─ page.tsx
β”‚ └─ [...not-found]/ # Catch‑all β†’ notFound()
β”‚ └─ page.tsx
β”œβ”€ actions/ # Server actions (e.g. sendMail)
β”œβ”€ api/
└─ og/route.tsx # Dynamic OpenGraph image
components/ # Reusable Components
β”œβ”€ layout/ # Page sections
β”‚ β”œβ”€ about/
β”‚ β”œβ”€ contact/
β”‚ β”œβ”€ footer/
β”‚ β”œβ”€ navbar/
β”‚ β”œβ”€ projects/
β”‚ └─ stack/
β”œβ”€ ui/ # shadcn base components
β”œβ”€ context/ # Theme context
β”œβ”€ data/ # Project + tech data
β”œβ”€ dictionaries/ # i18n JSON (en.json, de.json)
β”œβ”€ lib/ # Utility helpers
└─ public/ # Static assets (images, icons, PDFs etc.)
```

---

🌐 Live Demo

Visit the portfolio live at: https://mrbubbles-src.dev

---

✨ Features

β€’ One-pager responsive layout

β€’ CV viewer + download

β€’ Custom shadcn cards

β€’ Themed components with light/dark mode

β€’ Auto email reply system

βΈ»

πŸ“„ License

MIT Β© mrbubbles-src