A comprehensive, modern intranet dashboard built with React, TypeScript, and Tailwind CSS. Nexus provides a centralized hub for team collaboration, employee engagement, and organizational information.
This project is configured for deployment on Vercel.
- Responsive Design: Fully responsive across mobile, tablet, and desktop
- Dark/Light Mode: Complete theming system with user preference persistence
- Focus Mode: Distraction-free mode for improved productivity
- Drag & Drop: Customizable card layout with persistent preferences
- Kudos & Shout-Outs: Peer recognition system with real-time feed
- Employee Directory: Searchable directory with department filtering
- Organization Chart: Interactive hierarchical organization structure
- Profile Management: User profiles with avatar and preferences
- Team Calendar: Event management with birthdays, anniversaries, and meetings
- Company Announcements: Priority-based announcement system
- Quick Links: Customizable bookmarks with drag-and-drop reordering
- For You Feed: Personalized content and updates
- Global Search: Cmd/Ctrl+K shortcut for quick access
- Advanced Filtering: Multi-criteria filtering across all modules
- Smart Navigation: Breadcrumb navigation and quick actions
- Welcome Checklist: Interactive onboarding for new users
- Accessible Design: WCAG compliant with keyboard navigation
- Loading States: Smooth transitions and loading indicators
- Mobile-First: Optimized for touch interfaces
- React 19 - Latest React with concurrent features
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool and dev server
- React Router DOM - Client-side routing
- Tailwind CSS v4 - Utility-first CSS with latest features
- Radix UI - Accessible, unstyled UI primitives
- shadcn/ui - Beautiful, reusable UI components
- Lucide React - Beautiful, customizable icons
- React Context API - Global state management
- localStorage - Persistent user preferences
- Custom Hooks - Reusable stateful logic
- react-organizational-chart - Interactive org chart visualization
- Sonner - Toast notifications
- class-variance-authority - Component variant management
nexus/
βββ src/
β βββ components/ # Reusable UI components
β β βββ ui/ # shadcn/ui base components
β β βββ CompanyAnnouncements.tsx
β β βββ EmployeeDirectory.tsx
β β βββ Header.tsx
β β βββ KudosFeed.tsx
β β βββ OrganizationChart.tsx
β β βββ QuickLinks.tsx
β β βββ TeamCalendar.tsx
β β βββ ...
β βββ pages/ # Page components
β β βββ Dashboard.tsx
β β βββ CalendarPage.tsx
β β βββ EmployeeDirectoryPage.tsx
β β βββ ...
β βββ contexts/ # React contexts
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions
β βββ types/ # TypeScript type definitions
β βββ data/ # Mock data and constants
βββ public/ # Static assets
βββ dist/ # Build output
- Node.js 18+
- npm 9+ or yarn 1.22+
-
Clone the repository
git clone https://github.com/praveen-sripati/nexus.git cd nexus -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
# Build the project
npm run build
# Preview the build
npm run preview-
Install Vercel CLI
npm i -g vercel
-
Deploy
vercel
The project includes a vercel.json configuration file for optimal deployment.
The build output in /dist can be deployed to any static hosting service:
- Netlify: Drag and drop the
distfolder - GitHub Pages: Use GitHub Actions with the build
- AWS S3: Upload the
distfolder contents
| Component | Description | Features |
|---|---|---|
| For You Feed | Personalized content | β’ Document updates β’ Task notifications β’ News items |
| Company Announcements | Official communications | β’ Priority levels β’ Search & filter β’ Rich content |
| Employee Directory | Team member lookup | β’ Department filtering β’ Contact information β’ Search functionality |
| Kudos Feed | Peer recognition | β’ Give/receive kudos β’ Real-time updates β’ Social interaction |
| Team Calendar | Event management | β’ Birthdays & anniversaries β’ Company events β’ Visual indicators |
| Quick Links | Bookmark management | β’ Drag & drop sorting β’ Add/remove links β’ Quick access |
- π― Focus Mode: Hide distractions for deep work
- π Dark Mode: Eye-friendly dark theme
- π± Mobile Responsive: Optimized for all screen sizes
- β¨οΈ Keyboard Shortcuts: Quick navigation (Cmd+K)
- π Drag & Drop: Customizable layout
- πΎ Persistence: Saves user preferences locally
The project uses Tailwind CSS v4 with a custom theme configuration. Modify colors and styling in:
/* src/index.css */
@theme {
--color-primary: /* your primary color */;
--color-secondary: /* your secondary color */;
}- Create component in
src/components/ - Add types to
src/types/ - Update routing in
src/App.tsx - Add to dashboard in
src/pages/Dashboard.tsx
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint- ESLint: Configured for React and TypeScript
- Prettier: Automatic code formatting
- TypeScript: Strict type checking enabled
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit changes:
git commit -am 'Add feature' - Push to branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Radix UI for accessible component primitives
- shadcn/ui for the beautiful component library
- Tailwind CSS for the utility-first styling approach
- Lucide for the comprehensive icon library
Made with β€οΈ by Praveen Sripati
If you find this project helpful, consider buying me a coffee - it helps fuel more projects like this!