A modern, performant portfolio website built with Next.js, Prismic CMS, and Tailwind CSS.
- Live Site: View Demo
- Preview:
- Dynamic Content Management: Powered by Prismic for seamless updates.
- Responsive Design: Fully optimized for all screen sizes using Tailwind CSS and DaisyUI.
- Smooth Animations: Integrated with Framer Motion for elegant user interactions.
- Light and Dark Themes: Supports theming via next-themes.
- Framework: Next.js (15.1.0)
- Styling: Tailwind CSS, DaisyUI
- Content Management: Prismic
- Animation: Framer Motion
- Utilities: clsx, tailwind-merge
portfolio/
├── app/ # Next.js app directory
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── public/ # Static assets
├── styles/ # Global styles
└── types/ # TypeScript type definitions
- Node.js 18+
- Bun package manager
- Prismic account
-
Create
.env.local
:NEXT_PUBLIC_PRISMIC_ENDPOINT=your-repo-name.cdn.prismic.io PRISMIC_ACCESS_TOKEN=your-access-token
-
Clone and Install
git clone https://github.com/your-username/portfolio.git cd portfolio bun install
-
Start Development Server
bun run dev
Script | Description |
---|---|
bun run dev |
Starts the development server with Turbopack and SliceMachine |
bun run build |
Builds the project for production |
bun start |
Starts the production server |
bun run lint |
Runs ESLint for code quality checks |
bun run slicemachine |
Launches Prismic SliceMachine UI |
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feat/amazing-feature
) - Open a Pull Request
We use Conventional Commits specification for commit messages. This is automatically enforced using Husky, which checks your commit messages before they're finalized.
Your commit message should be structured like this:
type(scope): description
[optional body]
[optional footer(s)]
Common types include:
feat:
A new feature (e.g.,feat: add dark mode toggle
)fix:
A bug fix (e.g.,fix: resolve mobile menu overlap
)docs:
Documentation changes (e.g.,docs: update installation steps
)style:
Code style changes (e.g.,style: format with prettier
)refactor:
Code changes that neither fix bugs nor add featurestest:
Adding or modifying testschore:
Updates to build process, tools, etc.
If you try to commit without following this format, Husky will prevent the commit and show an error message. This helps maintain consistent commit history!
feat(nav): add hamburger menu for mobile
fix(auth): resolve login timeout issue
docs(readme): update deployment instructions
This project is licensed under the MIT License.
- Next.js Team
- Prismic CMS
- Tailwind CSS Community
- DaisyUI Contributors