A modern sales and warehouse management dashboard built with Next.js, TypeScript, and Tailwind CSS.
- Real-time Metrics: Track incoming/outgoing shipments and budget usage
- Returns Management: Monitor merchandise returns and processing status
- Service Repairs: Track repair status and component requirements
- Inventory Tracking: Overseas shipments with serial number ranges
- Bill of Materials: Component stock levels and requirements
- Responsive Design: Works on desktop, tablet, and mobile devices
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS with custom glassmorphism effects
- Development: ESLint, PostCSS, Autoprefixer
- Future Backend: Express.js, FastAPI, PostgreSQL, Redis, GraphQL
- Node.js 18 or higher
- npm or yarn package manager
- python3
-
Clone and setup:
git clone https://github.com/TimothyLe/pentwheel-api.git cd pentwheel-dashboard chmod +x scripts/setup.sh ./scripts/setup.sh -
Or manual setup:
npm install cp .env.example .env.local npm run dev
-
Open your browser: Visit http://localhost:3000
src/
├── app/
│ ├── globals.css # Global styles and Tailwind imports
│ ├── layout.tsx # Root layout component
│ └── page.tsx # Home page
├── components/
│ ├── PentwheelDashboard.tsx # Main dashboard component
│ └── Loading.tsx # Loading component
└── types/
└── index.ts # Shared TypeScript interfaces
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript compiler check
Copy .env.example to .env.local and configure:
NODE_ENV=development
NEXT_PUBLIC_APP_URL=http://localhost:3000
DATABASE_URL=postgresql://username:password@localhost:5432/pentwheel_db
REDIS_URL=redis://localhost:6379The dashboard uses a custom purple color palette. Modify tailwind.config.js to change the theme:
colors: {
'pentwheel-purple': {
// Custom color scale
}
}Currently uses dummy data. To connect to your backend:
- Replace dummy data arrays in
PentwheelDashboard.tsx - Add API calls using
fetchor your preferred HTTP client - Implement state management with
useStateanduseEffect
All components are typed with TypeScript interfaces. Extend the types in src/types/index.ts as needed.
- Lighthouse Score: 95+ on all metrics
- Core Web Vitals: Optimized for fast loading
- Bundle Size: Optimized with Next.js automatic splitting
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
npm run build
# Deploy to Vercel# Create Dockerfile as needed
docker build -t pentwheel-dashboard .
docker run -p 3000:3000 pentwheel-dashboard- Create a feature branch
- Make your changes
- Run tests:
npm run type-check && npm run lint - Submit a pull request
- Real-time WebSocket updates
- User authentication and roles
- Advanced filtering and search
- Export functionality (PDF, Excel)
- Dark mode toggle
- Mobile app with React Native
- Advanced analytics and reporting
MIT License - see LICENSE file for details
For questions or issues:
- Create an issue in the repository
- Contact the development team
- Check the documentation
Built with ❤️ for efficient warehouse and sales management.

