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

Collapse
 
shafayeat profile image
Shafayet Hossain

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

Collapse
 
bibek-thapa101 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
 
sparkout profile image
jonnesmarc

This portfolio tutorial is fantastic! The step-by-step guide on creating a stunning, interactive website with Next.js is really well laid out, especially with all the cool features like smooth transitions, particle animations, and dynamic project showcases. I love how you’ve incorporated Tailwind CSS, Framer Motion, and Docker support for a modern and scalable setup.
For anyone looking to build their own portfolio site, this is an excellent resource. Check out SparkOut for more tutorials and web development tips to help you create impressive interactive websites like this one!

Collapse
 
eshimischi profile image
eshimischi

Use astro.build/ instead of Next

Collapse
 
honey_baked_bf42128b52faa profile image
Honey Baked

I lost $53,000 to a sophisticated scam, and the emotional and financial impact was devastating. Amidst my distress, I discovered Recoveryeagles TRUST HACKER. Their reputation for successful asset recovery and their expertise in handling such cases gave me a glimmer of hope. The recovery process was not only effective but also efficient. Thanks to Recoveryeagles TRUST HACKER, I was able to recover $50,350 of my initial $53,000 loss. ( Recoveryeagles aT gmail com

Collapse
 
asmyshlyaev177 profile image
Alex

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

Collapse
 
bibek-thapa101 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-thapa101 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
 
vinbrun profile image
Vin Brun

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

Collapse
 
bibek-thapa101 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-thapa101 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
 
farouk_ profile image
Farouk

You did awesome with this bro! really like it

Collapse
 
bibek-thapa101 profile image
Bibek Thapa

Thank you