A modern, responsive, and feature-rich therapist website built with Next.js 14, React, TypeScript, and Tailwind CSS.
- 🎨 Modern Design: Calming color palette with sage green, beige, and white
- 📱 Fully Responsive: Mobile-first design that works on all devices
- 🌙 Dark Mode: Toggle between light and dark themes
- ⚡ Performance Optimized: Server components, image optimization, and code splitting
- ♿ Accessible: WCAG AA compliant with semantic HTML
- 🔍 SEO Optimized: Meta tags, schema markup, and sitemap
- 🎭 Smooth Animations: Framer Motion for elegant transitions
- 📝 Blog System: Modern blog with search and tag filtering
- 📅 Booking System: Integrated session booking with calendar
- 📧 Contact Forms: Secure, validated forms with error handling
- Home: Hero section, services preview, testimonials, and CTA
- About: Therapist profile, credentials, education, and certifications
- Services: Detailed service descriptions with booking integration
- Blog: Modern blog layout with search, tags, and individual post pages
- Contact: Contact form with Google Maps integration
- Book: Session booking form with date/time selection
- Framework: Next.js 14 (App Router)
- UI: React 18 with TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Date Handling: date-fns
- Validation: Zod
- Font: Inter (sans-serif) + Playfair Display (serif)
.
├── app/ # Next.js app router pages
│ ├── about/ # About page
│ ├── blog/ # Blog pages
│ ├── book/ # Booking page
│ ├── contact/ # Contact page
│ ├── services/ # Services page
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ └── sitemap.ts # XML sitemap
├── components/
│ ├── layout/ # Header, Footer
│ ├── sections/ # Page sections
│ └── ui/ # Reusable UI components
├── lib/
│ ├── data/ # Mock data
│ ├── types/ # TypeScript types
│ └── utils/ # Utility functions
├── hooks/ # Custom React hooks
├── public/ # Static assets
└── styles/ # Global styles
- Node.js 18+ and npm 9+
- Clone the repository:
git clone <repository-url>
cd therapist-website- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
npm run build
npm startnpm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript compilernpm run format- Format code with Prettier
The project uses:
- ESLint for code linting
- Prettier for code formatting
- TypeScript for type safety
- Tailwind CSS for consistent styling
Edit the color palette in tailwind.config.ts:
colors: {
primary: { ... }, // Sage green shades
secondary: { ... }, // Beige shades
accent: { ... }, // Terracotta shades
}Replace mock data in the lib/data/ directory:
services.ts- Therapy servicestestimonials.ts- Client testimonialsblog-posts.ts- Blog articlestherapist.ts- Therapist profile
Replace placeholder images with actual photos:
- Update image URLs in data files
- Add images to
/public/images/ - Update
next.config.jsfor external image domains
The site includes:
- Dynamic meta tags for all pages
- Schema.org structured data for local business
- XML sitemap generation
- robots.txt configuration
- Open Graph and Twitter Card tags
- Semantic HTML5 elements
- ARIA labels and roles
- Keyboard navigation support
- Color contrast meets WCAG AA standards
- Screen reader friendly
- Push code to GitHub
- Import project in Vercel
- Deploy with one click
Build the project and deploy the .next folder:
npm run build- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
This project is licensed under the MIT License.
For questions or issues, please contact [email protected]
Note: This is a template website. Replace all placeholder content, images, and contact information with actual therapist details before deploying to production.