{"id":50577606,"url":"https://github.com/sayed725/lakrichulayranna-frontend","last_synced_at":"2026-06-04T23:30:42.201Z","repository":{"id":360019980,"uuid":"1247277945","full_name":"sayed725/lakrichulayranna-frontend","owner":"sayed725","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-01T09:20:07.000Z","size":1163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T11:11:06.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sayed725.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-23T05:30:18.000Z","updated_at":"2026-06-01T09:20:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sayed725/lakrichulayranna-frontend","commit_stats":null,"previous_names":["sayed725/lakrichulayranna-frontend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sayed725/lakrichulayranna-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayed725%2Flakrichulayranna-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayed725%2Flakrichulayranna-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayed725%2Flakrichulayranna-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayed725%2Flakrichulayranna-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sayed725","download_url":"https://codeload.github.com/sayed725/lakrichulayranna-frontend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayed725%2Flakrichulayranna-frontend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33924832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-04T23:30:41.906Z","updated_at":"2026-06-04T23:30:42.188Z","avatar_url":"https://github.com/sayed725.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# লাকড়ি চুলায় রান্না — Frontend\n\n\u003e **আসল কাঠের চুলার স্বাদ, এখন আপনার দোরগোড়ায়।**\n\u003e Authentic wood-fire cooking, delivered to your doorstep.\n\nA full-featured Next.js 16 frontend for the **লাকড়ি চুলায় রান্না** food ordering platform — built with TypeScript, Tailwind CSS v4, TanStack Query, Zustand, Framer Motion, and Zod.\n\n---\n\n## 🚀 Getting Started / শুরু করুন\n\n### Prerequisites / পূর্বশর্ত\n\n- **Node.js** ≥ 20\n- **npm** ≥ 10\n- **Backend** — The [lakrichulayranna-backend](../lakrichulayranna-backend) should be running on `http://localhost:5000`\n\n### Installation / ইনস্টলেশন\n\n```bash\n# Clone the repository / রিপোজিটরি ক্লোন করুন\ngit clone \u003cyour-repo-url\u003e\ncd lakrichulayranna-frontend\n\n# Install dependencies / ডিপেন্ডেন্সি ইনস্টল করুন\nnpm install\n\n# Copy environment variables / এনভায়রনমেন্ট ভেরিয়েবল কপি করুন\ncp .env.local.example .env.local\n\n# Edit .env.local with your values / আপনার মান দিয়ে .env.local এডিট করুন\n# (See Environment Variables section below)\n\n# Start development server / ডেভেলপমেন্ট সার্ভার চালু করুন\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n---\n\n## ⚙️ Environment Variables / এনভায়রনমেন্ট ভেরিয়েবল\n\nCopy `.env.local.example` to `.env.local` and fill in the values:\n\n| Variable | Description | Example |\n|---|---|---|\n| `NEXT_PUBLIC_API_URL` | Backend API base URL | `http://localhost:5000/api/v1` |\n| `NEXT_PUBLIC_APP_URL` | Frontend public URL | `http://localhost:3000` |\n| `JWT_SECRET` | JWT secret (must match backend) | `your_jwt_secret_here` |\n\nFor the backend, see `server-env.example`.\n\n---\n\n## 📁 Project Structure / প্রজেক্ট স্ট্রাকচার\n\n```\nsrc/\n├── app/                    # Next.js App Router pages\n│   ├── (public)/           # Public pages (home, menu, cart, etc.)\n│   ├── dashboard/\n│   │   ├── admin/          # Admin dashboard pages\n│   │   └── customer/       # Customer dashboard pages\n│   ├── layout.tsx          # Root layout\n│   ├── loading.tsx         # Global loading skeleton\n│   ├── not-found.tsx       # 404 page\n│   ├── error.tsx           # Error boundary\n│   ├── sitemap.ts          # SEO sitemap\n│   └── robots.ts           # SEO robots.txt\n├── components/\n│   ├── shared/             # Navbar, Footer, Logo, Container, etc.\n│   ├── home/               # Hero, FeaturedItems, Categories, etc.\n│   ├── item/               # ItemCard, ItemGrid\n│   ├── cart/               # CartDrawer\n│   ├── forms/              # FormInput, FormTextarea\n│   ├── dashboard/          # StatsCard, DataTable, StatusBadge, etc.\n│   └── tables/             # OrdersTable, ItemsTable\n├── features/               # Feature-based hooks (auth, order, item, etc.)\n├── hooks/                  # Shared hooks (useDebounce, usePagination, etc.)\n├── lib/                    # Utilities (fetcher, constants, permissions)\n├── providers/              # QueryProvider, ThemeProvider\n├── store/                  # Zustand stores (auth, cart, coupon, ui)\n└── proxy.ts                # Route protection (auth, admin guards)\n```\n\n---\n\n## 🎨 Tech Stack / ব্যবহৃত প্রযুক্তি\n\n| Category | Technology |\n|---|---|\n| **Framework** | Next.js 16 (App Router) |\n| **Language** | TypeScript |\n| **Styling** | Tailwind CSS v4 |\n| **State Management** | Zustand |\n| **Data Fetching** | TanStack Query v5 |\n| **Forms** | React Hook Form + Zod |\n| **Animations** | Framer Motion |\n| **Auth** | JWT (cookie + header) via jose |\n| **Notifications** | Sonner |\n| **HTTP Client** | Axios |\n| **Icons** | Lucide React |\n\n---\n\n## 🛡️ Authentication / প্রমাণীকরণ\n\n- **JWT-based** authentication with cookie storage\n- **Proxy-level** route protection (`src/proxy.ts`):\n  - `/dashboard/admin/*` → Admin-only\n  - `/dashboard/customer/*`, `/checkout` → Authenticated users\n  - `/login`, `/register` → Redirects authenticated users away\n- **Transparent token refresh** via Axios interceptors in `src/lib/fetcher.ts`\n- **Cart persistence** via Zustand `persist` middleware (localStorage)\n\n---\n\n## 📜 Available Scripts / উপলব্ধ স্ক্রিপ্ট\n\n```bash\nnpm run dev      # Start dev server / ডেভ সার্ভার চালু\nnpm run build    # Production build / প্রডাকশন বিল্ড\nnpm run start    # Start production server / প্রডাকশন সার্ভার চালু\nnpm run lint     # Run ESLint / ESLint চালান\n```\n\n---\n\n## 🏗️ Building for Production / প্রডাকশন বিল্ড\n\n```bash\nnpm run build\nnpm run start\n```\n\n---\n\n## 🤝 Contributing / অবদান\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License / লাইসেন্স\n\nThis project is private and proprietary.\n\n---\n\n**Built with ❤️ and 🔥 by the লাকড়ি চুলায় রান্না team.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayed725%2Flakrichulayranna-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsayed725%2Flakrichulayranna-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayed725%2Flakrichulayranna-frontend/lists"}