{"id":35881613,"url":"https://github.com/up2dul/cake-commerce","last_synced_at":"2026-01-08T18:03:08.865Z","repository":{"id":331324143,"uuid":"1124874480","full_name":"up2dul/cake-commerce","owner":"up2dul","description":"🍰","archived":false,"fork":false,"pushed_at":"2026-01-01T10:24:25.000Z","size":2009,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-06T07:30:23.550Z","etag":null,"topics":["base-ui","motion","nextjs","phosphor","react","shadcn","sonner","tailwind","typescript","zod","zustand"],"latest_commit_sha":null,"homepage":"","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/up2dul.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":null,"dco":null,"cla":null}},"created_at":"2025-12-29T19:08:28.000Z","updated_at":"2026-01-01T10:24:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/up2dul/cake-commerce","commit_stats":null,"previous_names":["up2dul/cake-commerce"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/up2dul/cake-commerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/up2dul%2Fcake-commerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/up2dul%2Fcake-commerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/up2dul%2Fcake-commerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/up2dul%2Fcake-commerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/up2dul","download_url":"https://codeload.github.com/up2dul/cake-commerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/up2dul%2Fcake-commerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28247280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-08T02:00:06.591Z","response_time":241,"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":["base-ui","motion","nextjs","phosphor","react","shadcn","sonner","tailwind","typescript","zod","zustand"],"created_at":"2026-01-08T18:00:48.581Z","updated_at":"2026-01-08T18:03:08.860Z","avatar_url":"https://github.com/up2dul.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e🍰 Cake Commerce\u003c/h1\u003e\n\u003c/div\u003e\n\n![App screenshot](/public/cake-commerce-ss.png)\n\n\u003e 🌐 Built with Next.js, TypeScript, and Tailwind CSS for fast, responsive shopping experience\n\n## Table of Contents\n\n- [Table of Contents](#table-of-contents)\n- [Technologies](#technologies)\n- [Setup Instructions](#setup-instructions)\n  - [1. Prerequisites](#1-prerequisites)\n  - [2. Clone the Repository](#2-clone-the-repository)\n  - [3. Installation](#3-installation)\n  - [4. Environment Variables](#4-environment-variables)\n- [Usage](#usage)\n  - [Start the development server](#start-the-development-server)\n  - [Build for production](#build-for-production)\n- [Project Structure](#project-structure)\n- [Development Workflow](#development-workflow)\n  - [Code Quality](#code-quality)\n  - [Git Hooks](#git-hooks)\n- [Next Steps / Future Improvements](#next-steps--future-improvements)\n\n## Technologies\n\nSome of the technologies used in this project:\n- ⚛️ [React](https://react.dev) — The main frontend library\n- ▲ [Next.js (App Router)](https://nextjs.org) — React framework with server components\n- 🎨 [Tailwind CSS v4](https://tailwindcss.com) — Utility-first CSS framework\n- 🔷 [TypeScript](https://typescriptlang.org) — A typed superset of JavaScript\n- 🛡️ [Zod](https://zod.dev) — TypeScript-first schema validation with static type inference\n- 🐻 [Zustand](https://github.com/pmndrs/zustand) — Lightweight state management\n- ✨ [Motion](https://motion.dev) — Animation library for smooth transitions\n- 🍞 [Lenis](https://github.com/studio-freight/lenis) — Smooth scrolling library\n- 🎯 [Sonner](https://sonner.emilkowal.ski) — Toast notifications\n- 🎨 [Phosphor Icons](https://phosphoricons.com) — Beautiful icon library\n\nSome additional development tools:\n- 📝 [Biome](https://biomejs.dev) — Code formatter and linter\n- 🔤 [Commitlint](https://commitlint.js.org) — Ensure well-formatted commit messages\n- 🐶 [Husky](https://typicode.github.io/husky) — Git hooks\n- 📋 [Lint Staged](https://github.com/lint-staged/lint-staged) — Run scripts before committing\n\n## Setup Instructions\n\n### 1. Prerequisites\n\n- [Node.js](https://nodejs.org) `\u003e=18.x`\n- [pnpm](https://pnpm.io) `\u003e=9.x` (recommended as the package manager)\n\n### 2. Clone the Repository\n\n```bash\ngit clone https://github.com/up2dul/cake-commerce.git\n\n# or if using ssh\ngit clone git@github.com:up2dul/cake-commerce.git\n```\n\n### 3. Installation\n\nGo to the project directory and install dependencies\n\n```bash\n# Go to the project directory\ncd cake-commerce\n\n# Install dependencies\npnpm install\n```\n\n### 4. Environment Variables\n\nCreate a `.env.local` file in the root directory and add the following variables:\n\n```env\nAPI_BASE_URL=https://api-example.com\n```\n\n## Usage\n\n### Start the development server\n\n```bash\npnpm dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\n### Build for production\n\n```bash\npnpm build\npnpm start\n```\n\n## Project Structure\n\n```\n.\n├── src/\n│   ├── app/\n│   │   ├── (main)/              # Main app routes\n│   │   │   ├── layout.tsx\n│   │   │   ├── page.tsx         # Home page\n│   │   │   ├── account/         # Account page\n│   │   │   ├── shop/            # Shop page\n│   │   │   │   └── product/\n│   │   │   │       └── [slug]/  # Product detail page\n│   │   │   └── _components/     # Shared components\n│   │   ├── auth/                # Auth routes\n│   │   │   ├── login/\n│   │   │   │   └── _components/\n│   │   │   └── register/\n│   │   │       └── _components/\n│   │   ├── actions/             # Server actions\n│   │   │   ├── auth.ts          # Auth server actions\n│   │   │   └── cart.ts          # Cart server actions\n│   │   ├── globals.css          # Global styles\n│   │   ├── layout.tsx           # Root layout\n│   │   └── not-found.tsx        # 404 page\n│   ├── components/\n│   │   ├── common/              # Common components\n│   │   │   ├── cart-drawer.tsx\n│   │   │   ├── cart-item-card.tsx\n│   │   │   └── cart-line-edit.tsx\n│   │   ├── layout/              # Layout components\n│   │   │   ├── navbar.tsx\n│   │   │   └── footer.tsx\n│   │   └── ui/                  # Reusable UI components\n│   │       ├── button.tsx\n│   │       ├── input.tsx\n│   │       ├── label.tsx\n│   │       ├── checkbox.tsx\n│   │       ├── textarea.tsx\n│   │       ├── field.tsx\n│   │       ├── tag.tsx\n│   │       └── separator.tsx\n│   ├── hooks/                   # Custom React hooks\n│   ├── lib/\n│   │   ├── api.ts               # API client with error handling\n│   │   ├── auth.ts              # Auth utilities\n│   │   ├── config.ts            # Configuration\n│   │   ├── utils.ts             # Utility functions\n│   │   ├── data/                # Data fetching functions\n│   │   │   ├── product.ts       # Product data fetching\n│   │   │   ├── customer.ts      # Customer data fetching\n│   │   │   └── cart.ts          # Cart data fetching\n│   │   ├── store/               # Zustand stores\n│   │   │   └── cart.ts          # Cart state management\n│   │   └── types/               # TypeScript types\n│   │       ├── product.ts\n│   │       ├── cart.ts\n│   │       ├── auth.ts\n│   │       └── common.ts\n│   ├── assets/                  # Static images and assets\n│   └── proxy.ts                 # Proxy configuration\n├── public/                      # Static files\n├── biome.json                   # Biome configuration\n├── commitlint.config.ts         # Commitlint configuration\n├── next.config.ts              # Next.js configuration\n├── tsconfig.json               # TypeScript configuration\n├── tailwind.config.ts          # Tailwind CSS configuration\n├── postcss.config.mjs          # PostCSS configuration\n├── pnpm-workspace.yaml         # pnpm workspace config\n├── package.json\n└── README.md\n```\n\n## Development Workflow\n\n### Code Quality\n\nThe project uses Biome for automatic code formatting and linting:\n\n```bash\n# Format code\npnpm format\n\n# Check code quality\npnpm lint\n\n# Format and lint\npnpm check\n```\n\n### Git Hooks\n\nHusky and lint-staged ensure code quality before commits:\n- Pre-commit hook runs Biome formatting\n- Commit messages are validated with commitlint\n\n## Next Steps / Future Improvements\n\n- [ ] Fix the edit cart line bug\n- [ ] Checkout\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fup2dul%2Fcake-commerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fup2dul%2Fcake-commerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fup2dul%2Fcake-commerce/lists"}