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 (16)

Collapse
 
shafayeat profile image
Shafayet Hossain

It's niceπŸ–€πŸ–€
BTW, can you please check out mine??😊
shafayet.zya.me

Collapse
 
bibek-thapa01 profile image
Bibek Thapa

Thank you!! I will check out yours.

Collapse
 
vinbrun profile image
Vin Brun

Hi Shafayet! Your website looks great! It is clear and easy to follow. I suggest that you don't share your complete address publicly for security reasons (in the public CV)

Collapse
 
shafayeat profile image
Shafayet Hossain

Thanks so much for your feedback Brun! 😊 I really appreciate the tip about not sharing my full address publicly, it’s a great point for security. I’ll definitely make that update. Thanks again for looking out!πŸ–€πŸ–€

Thread Thread
 
vinbrun profile image
Vin Brun

You're welcome! Happy to help :)

Collapse
 
eshimischi profile image
eshimischi

Use astro.build/ instead of Next

Collapse
 
vinbrun profile image
Vin Brun

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

Collapse
 
bibek-thapa01 profile image
Bibek Thapa

You’re very welcome! I’m glad you found it helpful. Excited to see what you createβ€”feel free to share your progress or ask if you have any questions along the way! πŸ™Œ

Collapse
 
vinbrun profile image
Vin Brun

Hey there! I got engaged with the project πŸ’ͺ I went ahead and made my deployment, which you can check at vinbrun.com. Then, I had some ideas to contribute and wrote them down in the GitHub Issues section. I really enjoyed deploying your code and would be happy to contribute 😊 All the best

Thread Thread
 
bibek-thapa01 profile image
Bibek Thapa • Edited

love to see more features I saw the github issue section. i will clean my code in upcoming days and make more readable and understandable..

Collapse
 
asmyshlyaev177 profile image
Alex

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

Collapse
 
bibek-thapa01 profile image
Bibek Thapa

Thank you! You definitely shouldβ€”it’s a great way to showcase your skills and projects. Let me know if you need any tips or resources when you start building your site!

Collapse
 
asmyshlyaev177 profile image
Alex

I need practice some design skills, I'm very good with complex logic, but design lag behind.

Thread Thread
 
bibek-thapa01 profile image
Bibek Thapa

Absolutely! Your strength in logic will be a huge asset as you work on design. With a solid foundation in problem-solving, you’re already halfway thereβ€”design is just another skill set to build on top. Keep experimenting and practicing, and soon enough, those design skills will catch up!

Collapse
 
farouk_ profile image
Farouk

You did awesome with this bro! really like it

Collapse
 
bibek-thapa01 profile image
Bibek Thapa

Thank you