Back to the App
Screen recording

# Implementation Notes

Tech Stack and Best Practices

  • ✅Used Dynamic store layout and walkable area with shelf placement
  • ✅Base a11y practices followed (since app might be used by disabled people) tested with voice over :)
  • ✅Used React 19 and Next.js 16+
  • ✅tailwindcss for utility-first CSS styling
  • ✅three.js and @react-three/fiber for 3D rendering
  • ✅A* pathfinding algorithm for shortest path calculation
  • ✅Held-Karp algorithm for optimal TSP route calculation
  • ✅zod and nuqs for Typesafe state management (no useState in entire app)
  • ✅Used motion to animate show/hide items
  • ✅Architectured for scalability and maintainability
  • ✅React Server Components where applicable
  • ✅Donut pattern for client in server components
  • ✅Tested rendering with heavy products list. app/page.tsx
  • ✅Used jest and react-testing-library for unit and integration tests
  • ✅Used and added playwright tests for basic e2e testing (Results: https://ah.sayjeyhi.com/e2e/)

AI Usage

  • ✅Used cursor (Composer Model) to implement 3D models and store assets
  • ✅Get cursor (Composer Model) assist to write e2e and unit tests
  • ✅Used Chat-GPT to get help on fixing some bugs and optimizing code
  • ✅The algorithm for pathfinding was inspired by chat gpt suggestions and improved upon using cursor

Can Be Also Done...

  • ⬜️Load Products from external source
  • ⬜️Add more unit and integration tests
  • ⬜️Improve e2e tests to get cleaner and cover more user paths
  • ⬜️Confirm delete all products action
  • ⬜️Implement more a11y features and become WCAG compliant
  • ⬜️Improve skeletons for page load
  • ⬜️Optimize 3D store appearance
  • ⬜️Improve pathfinding algorithm for more products
  • ⬜️Add i18n support, dutch, etc.
  • ⬜️Support dark mode
Back to the App