A modern website template built with Next.js and Tailwind CSS.
- Frontend Framework: Next.js
- Style Scheme: Tailwind CSS
- UI Components: shadcn/ui
- Type System: TypeScript
- Code Standards: ESLint + Prettier
- 📱 Responsive design, perfectly adapted to various devices
- 🎨 Modern UI design, based on the shadcn/ui component library
- ✨ Dynamic components (Client Components) and static rendering (Server Components) via Next.js App Router
- 🔍 SEO friendly (using Next.js metadata API)
- 💻 TypeScript support, providing complete type definitions
- 🏠 Homepage (
/
) - 📄 About Us (
/about
) - 💼 Projects (
/projects
) - 🤝 Partners (
/partners
) - 📞 Contact Us (
/contact
)
-
Clone the project
git clone YOUR_PROJECT_ADDRESS_HERE cd YOUR_PROJECT_DIRECTORY
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Build the production version
npm run build
├── app/ ## App Router pages and layouts
│ ├── api/ ## API routes
│ ├── [pages]/ ## Individual pages (e.g., about, projects)
│ └── layout.tsx ## Root layout
├── components/ ## Reusable components
│ ├── layout/ ## Layout specific components (Header, Footer)
│ ├── projects/ ## Project related components (ProjectCard)
│ ├── ui/ ## shadcn/ui components
│ ├── scroll-button.tsx ## Scroll button component
│ └── testimonial-slider.tsx ## Testimonial slider component
├── lib/ ## Utility functions and data
│ ├── data.ts ## Data definitions (projects, partners, testimonials etc.)
│ └── utils.ts ## Utility functions (cn helper)
├── public/ ## Static assets
├── .eslintrc.js ## ESLint configuration
├── .prettierrc ## Prettier configuration
├── next.config.js ## Next.js configuration
├── package.json ## Project dependencies and scripts
├── tailwind.config.js ## Tailwind configuration
└── tsconfig.json ## TypeScript configuration
Key data and configurations are managed in:
lib/data.ts
: Contains data for projects, partners, and testimonials.tailwind.config.js
: Customizes Tailwind CSS settings.next.config.js
: Next.js specific configurations.
- Develop components using TypeScript.
- Use PascalCase for component naming.
- Define and use appropriate Props types.
- Follow the project's established style guidelines, prioritizing Tailwind CSS.
- Clearly indicate Client Components with
"use client"
.
- Primarily use Tailwind CSS utility classes.
- Ensure responsiveness using Tailwind's breakpoints.
- Maintain consistency in colors, spacing, and typography based on
tailwind.config.js
.
- Utilize the root
app/layout.tsx
for consistent page structure. - Implement necessary SEO metadata using Next.js Metadata API.
- Ensure responsive design and performance for all pages.
This project uses Next.js App Router, supporting various rendering strategies. For static export:
- Update
next.config.js
to enable static output if not already configured. - Build the project:
npm run build
- Export the static site:
(Alternatively, the
npm run export # If export is configured in package.json scripts
build
command might directly output static files depending on next.config.js) - The generated static files are typically located in the
out
directory (or.next/
depending on configuration). - Deploy the output directory to your static hosting service.
- Fork the project.
- Create a feature branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'feat: Add your feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a Pull Request.