A modern, responsive portfolio website template built with Next.js 14, TypeScript, and Tailwind CSS. Features dark mode, smooth animations, and interactive components. Designed to be fully customizable to showcase your unique skills and projects. Optimized for SendGrid and Vercel for deployment, but can be adapted for other service providers.
Clone the repository:
git clone https://github.com/zainibeats/nodejs-portfolio-template
cd nodejs-portfolio-template
Install dependencies:
npm install
Create a .env.local
file in the root directory:
SENDGRID_API_KEY=your_sendgrid_api_key
[email protected]
[email protected]
Start the development server:
npm run dev
Open http://localhost:3000 in your browser.
Create a production build:
npm run build
Start the production server:
npm start
This template is designed to be highly modular and customizable. Here's how to make it your own:
Look for the following types of placeholder content that need to be replaced:
TITLE 1
, COMPANY
, PERIOD
, KEYWORD 1
) with your own contenthttps://github.com/yourusername
with your actual URLssrc/data/projects.ts
with your own projectsThe following sections are designed to be optional and can be completely removed or replaced:
Music Section: If you have no need for a Music section, you can:
src/app/page.tsx
Development/Projects Sections: Customize to match your specific work or field
The template includes common social media icons, but you can easily modify them:
src/components/Header.tsx
and src/components/Footer.tsx
react-icons
or lucide-react
socialLinks
array to match your online presenceTo modify the overall structure:
src/app/page.tsx
src/components/Header.tsx
src/components/
This template uses SendGrid and Vercel by default, but you can substitute them:
Email Service Provider:
src/app/api/contact/route.ts
Deployment Platform:
next.config.js
as needed for your chosen platformnodejs-portfolio-template/
āāā public/ # Static files
ā āāā assets/ # Images, videos, and other media
ā āāā files/ # Downloadable files
āāā src/
ā āāā app/ # Next.js app router pages
ā ā āāā api/ # API routes (including contact form endpoint)
ā āāā components/ # React components (modular sections)
ā āāā data/ # Static data files (projects, content)
ā āāā styles/ # Global styles
ā āāā types/ # TypeScript type definitions
āāā next.config.js # Next.js configuration
āāā tailwind.config.js # Tailwind CSS configuration
āāā tsconfig.json # TypeScript configuration
Each component is independent and can be modified or removed as needed:
Header
: Navigation and theme toggleHero
: Landing section with profileDevelopment
: Projects showcase sectionSkills
: Skills and technologies sectionExperience
: Work history section Music
: Media integration section (removable/replaceable)About
: Personal information sectionContact
: Contact form with SendGrid integration (customizable)Footer
: Site footer with linksThe project is configured for deployment on Vercel with the following optimizations:
You can deploy to other platforms that support Next.js by following their specific deployment guides and making any necessary configuration adjustments.
Required environment variables for production when using SendGrid:
SENDGRID_API_KEY=your_sendgrid_api_key
[email protected]
[email protected]
If using an alternative email service, adjust these variables according to your provider's requirements.
MIT License - feel free to use this project as a template for your own portfolio!