I'm looking for a strict code review of my pet project — a user management application.
🔗 Repository Link
https://github.com/Arvik1982/MyUsersList
🎯 What the project does
An application for viewing, editing, archiving, and hiding user cards. Data is fetched from an API, and state is persisted to localStorage.
🧱 Tech Stack
- React 19
- TypeScript
- React Router v7
- Zustand
- TanStack Query
- React Hook Form + Zod
- SCSS Modules + Vite
🔍 What I'd like reviewed (checklist)
- [ ] Performance: proper use of
useMemo,useCallback, component memoization, re-render optimization - [ ] TypeScript: no
any, correct type inference, type guards, proper typing of props and state - [ ] Accessibility (a11y): semantic HTML, ARIA attributes, keyboard navigation, focus management
- [ ] React 19 best practices: useTransition, useOptimistic, Actions, useFormStatus
- [ ] Architecture: separation of concerns, custom hooks, logic isolation
- [ ] Potential bugs: race conditions, memory leaks, async edge cases
- [ ] Readability & maintainability: naming, folder structure, comments
📂 Key files for review (GitHub links)
src/router/router.tsxsrc/components/UserCard/UserCard.tsxsrc/pages/EditUser/EditUser.tsx-
src/store/userStore.ts(Zustand) -
src/hooks/useUsersQuery.ts(TanStack Query) -
src/schemas/userSchema.ts(Zod schema)
❓ Specific questions for reviewers
- How correct is the archiving/hiding implementation with localStorage persistence?
- Is the router implementation correct?
- Is
src/store/usersStore.tsimplemented correctly? - Is the
useQueryusage correct? - Is the SCSS Modules usage correct?
✅ Already done
- ESLint + Prettier + Husky configured
- TypeScript strict mode enabled
- Basic Zod form validation in place
I'd appreciate any feedback — from critical issues to stylistic nitpicks. Thanks!
Top comments (0)