Showcases advanced state management, data visualization, and API design patterns that reveal how complex UIs can be built with elegant, maintainable code.
React
Node.js
MongoDB
TypeScript
Html
CSS


Real-time sales summary with key metrics
Interactive charts and data visualizations
Top performers leaderboard
Complete order management system
Product inventory management
Admin panel for user management
Responsive design for all devices
Managing sales data implies three critical requirements:
Avoiding redundant API calls across views.
Updating charts instantly on new orders.
Handling date/region filters without prop drilling.
Built with React hooks and Context API for state management.
React with custom hooks and Context API for global state
Express with aggregation endpoints for pre-computed metrics
Chart libraries with custom styling
Memoization and smart re-render prevention
MongoDB with indexed queries for fast aggregation
Implemented Context API with custom hooks (useSalesData, useOrderFilters) for clean component APIs
Designed pre-aggregated API endpoints that return exactly what UI needs
Implemented server-side filtering and pagination, used React.useMemo for expensive calculations
Added ARIA labels, alternative text, and keyboard navigation to all charts
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/auth/login | User login | Public |
| POST | /api/auth/register | Register new user | Public |
| GET | /api/sales/summary | Fetch overall sales metrics | Required |
| GET | /api/leaderboard | Get top-performing users | Required |
| GET | /api/orders | Get all orders | Required |
| POST | /api/orders | Create new order | Required |
| GET | /api/products | Get list of products | Required |
| GET | /api/users | Admin: View all users | Public |
$ cd backend && npm install && npm start; cd frontend && npm install && npm run devInfluenced all future React work: confident state persistence, cleaner API communication, and a new appreciation for the precision required in building analytical tools.