DEV Community

Cover image for Building a Modern Personal Portfolio"?
Bibek Thapa
Bibek Thapa

Posted on

Building a Modern Personal Portfolio"?

A step-by-step tutorial on developing the perfect portfolio website using Next.js framework for better access to the portfolio resources through a visually appealing website with nice particle animations and smooth transitions and interactive resources for enhanced experiences.here is the live link my-portfolio

πŸš€ Features

  • Responsive design for all devices
  • Interactive particle background
  • Smooth page transitions
  • Dynamic project showcase
  • Contact form with email validation
  • Downloadable CV
  • Social media integration
  • Blog section
  • Professional skill visualization
  • Docker support for containerization

πŸ› οΈ Built With

  • Next.js 14
  • React 18
  • Tailwind CSS
  • Framer Motion
  • React Icons
  • Swiper
  • TSParticles
  • Radix UI Components
  • Docker

πŸƒβ€β™‚οΈ Getting Started

Prerequisites

  • Node.js 18 or higher
  • npm or yarn

Installation

  1. Clone the repository:
   git clone https://github.com/B-KEY/BIBEK-PORTFOLIO.git
Enter fullscreen mode Exit fullscreen mode
  1. Install dependencies:
   npm install
   # or
   yarn install
Enter fullscreen mode Exit fullscreen mode
  1. Run the development server:
   npm run dev
   # or
   yarn dev
Enter fullscreen mode Exit fullscreen mode
  1. Open http://localhost:3000 in your browser.

If You Prefer Docker Setup

  1. Build the Docker image:
   docker build -t portfolio .
Enter fullscreen mode Exit fullscreen mode
  1. Run the container:
   docker run -p 3000:3000 portfolio
Enter fullscreen mode Exit fullscreen mode

πŸ“ Project Structure

portfolio/
β”œβ”€β”€ app/ # Next.js app directory
β”‚   β”œβ”€β”€ contact/ # Contact page
β”‚   β”œβ”€β”€ resume/ # Resume page
β”‚   β”œβ”€β”€ work/ # Projects showcase
β”‚   └── layout.jsx # Root layout
β”œβ”€β”€ components/ # Reusable components
β”œβ”€β”€ public/ # Static assets
└── styles/ # Global styles
Enter fullscreen mode Exit fullscreen mode

πŸš€ Deployment

The project can be deployed on Vercel with these steps:

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Deploy with one click

πŸ“ Environment Variables

Create a .env.local file in the root directory:

NEXT_PUBLIC_CONTACT_FORM_KEY=your_form_key
Also add username and api for Blog
Enter fullscreen mode Exit fullscreen mode

🀝 Contributing

  1. Fork the repository
  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 ISC License - see the LICENSE file for details.

πŸ‘€ Author

Bibek Thapa

πŸ™ Acknowledgments

  • Next.js team for the amazing framework
  • Vercel for hosting
  • All open-source contributors
  • Partial inspiration from cristianmihai01

Top comments (2)

Collapse
 
asmyshlyaev177 profile image
Alex

It's looks awesome! I need to create some website for myself eventually.

Collapse
 
vinybrun profile image
Viny Brun

Awesome!! I will try it next week. Thanks for sharing πŸ™It will be very helpful