Curated Crate is a modern e-commerce platform for creating and purchasing personalized gift boxes. It allows users to select from a variety of artisanal products to build their own unique "crate" or choose from pre-designed themed boxes. The platform is built with a focus on a clean, user-friendly interface and a robust backend to handle products, orders, and user accounts.
- Website: https://curated-crate.vercel.app
- Admin Panel: https://curated-crate.vercel.app/admin/login
- Admin:
- Email:
admin@gmail.in - Password:
admin@123
- Email:
- User:
- Email:
user@gmail.com - Password:
user1234
- Email:
Homepage:
Admin Dashboard:
-
Customer-Facing:
- User authentication (Sign up, Login)
- Browse and filter products
- View themed gift boxes
- Add items to a shopping cart
- Checkout and payment processing (mocked)
- Manage user account (profile, addresses, order history)
- Product and themed box reviews
-
Admin Panel:
- Admin uthentication (Login)
- Dashboard with sales and user statistics
- Order management
- Product and themed box creation and management
- Customer management
- Analytics and reporting
- Coupouns Creation
- Framework: Next.js
- Language: TypeScript
- Styling: Tailwind CSS with shadcn/ui components
- Database: MongoDB with Mongoose
- Authentication: NextAuth.js
- Animations: Framer Motion
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v18 or later)
- pnpm (or npm/yarn)
- MongoDB instance (local or cloud-based)
-
Clone the repository:
git clone https://github.com/Dev-kaif/Curated-Crate.git cd Curated-Crate -
Install dependencies:
pnpm install
-
Set up environment variables:
Create a
.env.localfile in the root of your project and add the following variables:NEXTAUTH_SECRET=your-secret-key-here MONGODB_URL=your-mongodb-connection-string NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your-cloudinary-cloud-name NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=your-cloudinary-upload-preset RESEND_API_KEY=your-resend-api-key EMAIL=your-email-address
-
Run the development server:
pnpm run dev
The application should now be running at http://localhost:3000.
The project follows the standard Next.js App Router structure.
/src ├── app/ # Main application routes │ ├── (admin)/ # Admin-only routes │ ├── (user)/ # User-specific routes │ ├── api/ # API endpoints │ └── ... ├── backend/ # Backend logic │ ├── lib/ # Database connection, auth helpers │ └── models/ # Mongoose schemas ├── components/ # Reusable React components │ ├── Landing/ # Components for the landing page │ ├── Layout/ # Layout components (Navbar, Footer) │ └── ui/ # shadcn/ui components ├── contexts/ # React Context providers (e.g., StoreContext) └── hooks/ # Custom React hooks pnpm dev: Runs the application in development mode.pnpm build: Builds the application for production.pnpm start: Starts the production server.pnpm lint: Lints the code using Next.js's built-in ESLint configuration.





