A picture-based website with CRUD and search feature
- Prevented sending all requests at once for better efficiency, using Intersection Observer API
- Achieved SPA experience by using React Router
- Prevented unnecessary re-render and increase performance by using memo, useMemo, useCallback
- Managed all global state with useReducer
- Developed with React, TypeScript and Styled-Components
- Enhanced user experience with React Loading Skeleton and React Spinners
- Accomplished the slideshow effect at the home page with Swiper
- Used Firebase Firestore as database and other services like Authentication for member system, hosting for deployment-







