This project implements a hierarchical navigation system (Tree View) for managing categories, subcategories, and products. The chosen storage strategy is Materialized Path, which provides: Fast queries for retrieving all subcategories and items under a parent. Simple sorting by hierarchy depth. Requires updates to paths when moving categories.
- React 18.x
- React Router DOM 6.x
- React Hook Form
- Zod
- Axios
- TailwindCSS
- Shadcn/UI
- Framer Motion =
- Nest.js 10.x (Node.js)
- TypeScript
- Mongoose
- Class-Validator / Class-Transformer
- JWT
- Swagger
- MongoDB 6.x
- MongoDB Atlas
- Aggregation Pipelines
- Git + GitHub
- Docker & Docker Compose
- ESLint + Prettier
- Husky + lint-staged
- Jira
- Node.js v20.x
- npm או pnpm/yarn
- Docker & Docker Compose
- MongoDB Compass (לא חובה, לניהול DB)
cd frontend
npm install
npm run devBy default, the frontend runs at: http://localhost:5173
cd backend
npm install
npm run start:devBy default, the API runs at: http://localhost:3000
By default, MongoDB runs through Docker Compose:
docker-compose up -dConnection string: mongodb://localhost:27017/catalog
Main branch: main – protected.
No direct pushes allowed, only approved PRs.
git checkout -b feature/
git commit -m "feat: short description" git push origin feature/
Open a Pull Request.
Code Review: at least one team member must approve before merging. Commit convention: Conventional Commits feat: new login page fix: bug in search filter docs: update README
The docker-compose.yml will run: frontend (React + Vite) backend (Nest.js) mongodb (Database)
Swagger available at: http://localhost:3000/api Jira – tasks, bugs, and sprint management. Storybook (future) – UI components catalog.