Skip to content

KetusDev/old-portfolio

Repository files navigation

KetusDev Portfolio

Modern developer portfolio built with Next.js, TypeScript, and Tailwind CSS.

Deployed on Vercel Next.js TypeScript

🚀 Features

  • Responsive Design - Adapts to all screen sizes
  • Multilingual - Support for Polish and English
  • Animations - Smooth animations and visual effects with Framer Motion
  • Contact Form - EmailJS integration for message sending
  • Modern UI - Using shadcn/ui and Radix UI components
  • Dark Mode - Dark theme support
  • Performance - Optimized for performance and SEO

🛠️ Tech Stack

  • Framework: Next.js 15.2.4
  • Language: TypeScript 5
  • Styling: Tailwind CSS + CSS Modules
  • UI Components: shadcn/ui, Radix UI
  • Animations: Framer Motion
  • Forms: React Hook Form + EmailJS
  • Maps: React Leaflet
  • Analytics: Vercel Analytics & Speed Insights

📦 Installation

  1. Clone the repository:

    git clone https://github.com/KetusDev/old-portfolio.git
    cd old-portfolio
  2. Install dependencies:

    pnpm install
    # or
    npm install
    # or
    yarn install
  3. Configure environment variables:

    cp .env.example .env.local

    Fill in your EmailJS credentials in .env.local:

    NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id
    NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id
    NEXT_PUBLIC_EMAILJS_USER_ID=your_user_id
  4. Start the development server:

    pnpm dev
    # or
    npm run dev
    # or
    yarn dev
  5. Open in browser: http://localhost:3000

⚙️ EmailJS Configuration

To make the contact form work, you need to configure EmailJS:

  1. Create an account at EmailJS
  2. Create a new email service
  3. Create an email template
  4. Add your credentials to .env.local

🚀 Deployment

Vercel (Recommended)

  1. Connect your repository to Vercel
  2. Add environment variables in Vercel dashboard
  3. Deploy will be triggered automatically

Other Platforms

The app is compatible with:

  • Netlify
  • GitHub Pages (requires additional configuration)
  • Railway
  • Heroku

📁 Project Structure

old-portfolio/
├── app/                 # App Router (Next.js 13+)
├── components/          # React components
│   ├── ui/             # UI components (shadcn/ui)
│   └── *.tsx           # Main components
├── hooks/              # Custom React hooks
├── lib/                # Libraries and utilities
├── public/             # Static files
│   ├── icons/         # Technology icons
│   ├── images/        # Images
│   └── projects/      # Project screenshots
└── styles/            # CSS styles

🔧 Available Scripts

pnpm dev        # Start development server
pnpm build      # Build for production
pnpm start      # Start production server
pnpm lint       # Check code with ESLint

🤝 Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

📧 Contact

Szymon Skorupski - @KetusDev - code.szymon@gmail.com

Project Link: https://github.com/KetusDev/old-portfolio

Packages

 
 
 

Contributors