A modern, responsive client portal built with Next.js 15, TypeScript, TailwindCSS, and Shadcn UI for LINAK's linear actuator solutions.
- 🎨 Modern UI with TailwindCSS and Shadcn UI components
- 🔐 Authentication with protected routes
- 📱 Fully responsive design
- 🚀 Built with Next.js 15 App Router
- 💪 TypeScript for type safety
- 🎯 Client dashboard with order management
- 📊 Real-time stats and data visualization
- 🔒 Middleware-based route protection
src/
├── app/ # Next.js App Router pages
│ ├── dashboard/ # Protected dashboard page
│ ├── login/ # Authentication page
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Homepage
├── components/ # Reusable React components
│ ├── ui/ # Shadcn UI components
│ ├── Layout.tsx # Shared layout component
│ └── LoadingSpinner.tsx # Loading components
├── context/ # React context providers
│ └── AuthContext.tsx # Authentication context
├── hooks/ # Custom React hooks
├── lib/ # Utility libraries
│ └── utils.ts # Utility functions
├── types/ # TypeScript type definitions
│ └── index.ts # Shared types
└── middleware.ts # Next.js middleware for route protection
- Node.js 18+
- npm, pnpm, or yarn
- Clone the repository or navigate to the project directory
- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build production versionnpm run start- Start production servernpm run lint- Run ESLint
- Modern landing page showcasing LINAK solutions
- Feature cards highlighting key capabilities
- Company statistics and testimonials
- Call-to-action buttons for login and dashboard access
- Clean, professional login form
- Social login options (Google, GitHub)
- Demo credentials for testing
- Responsive design for all devices
- Protected route requiring authentication
- Real-time order tracking and management
- Account overview and statistics
- Quick action buttons for common tasks
- Recent activity feed
The portal includes a demonstration authentication system:
- Demo Access: Use any email and password on the login page
- Route Protection: Dashboard routes are protected by middleware
- Session Management: Basic session handling with localStorage
- Logout Functionality: Clean session termination
Note: This is a demo implementation. In production, implement proper JWT authentication, secure session management, and server-side validation.
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe JavaScript
- TailwindCSS - Utility-first CSS framework
- Shadcn UI - Modern component library
- React Hook Form - Form handling
- Zod - Schema validation
- Lucide React - Icon library
- Modify
tailwind.config.jsfor custom design tokens - Update
src/app/globals.cssfor global styles - Customize Shadcn UI components in
src/components/ui/
- Replace demo authentication in
src/context/AuthContext.tsx - Update middleware in
src/middleware.tsfor proper token validation - Implement secure session management
- Update colors and typography in TailwindCSS configuration
- Replace placeholder content with LINAK-specific information
- Add company logos and assets
- All components are TypeScript-based for better development experience
- Responsive design ensures compatibility across devices
- ESLint configuration maintains code quality
- Build optimization for production deployment
The application can be deployed on:
- Vercel (recommended for Next.js)
- Netlify
- AWS Amplify
- Traditional hosting with Node.js support
For production deployment:
npm run build
npm run start- Follow TypeScript best practices
- Use Prettier for code formatting
- Ensure all components are responsive
- Add proper error handling
- Update documentation for new features
This project is created for LINAK Client Portal demonstration purposes.