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

Collapse
ย 
sparkout profile image
AI Development Company โ€ข

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
ย 
bibek-thapa101 profile image
Bibek Thapa โ€ข

thank you for your aswesome words...

Collapse
ย 
shafayeat profile image
Shafayet Hossain Yashfi โ€ข

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 Yashfi โ€ข

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
ย 
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