Figurin is a full-stack, modern e-commerce web application built using the powerful combination of Next.js (App Router), TypeScript, and MongoDB. It provides a seamless shopping experience with server-side rendering (SSR) for optimal performance and SEO, and client-side rendering (CSR) for interactive user interfaces.
- User Registration: Secure user sign-up with email and password validation.
- User Login: Secure authentication system to access protected routes.
- Protected Routes: Only authenticated users can manage their wishlists.
- Dynamic Banner Promo: Engaging promotional banners for users.
- Featured Products: Highlighted selection of top products (5-10 items).
- Store Information: Details about the eCommerce platform.
- Product Listing: Browse all available products dynamically.
- Search Functionality: Search for products by name with debouncing for performance.
- Infinite Scroll Pagination: Seamlessly load more products as you scroll.
- Product Details Page: View in-depth details of a specific product with Dynamic Meta Tags for SEO.
- Add to Wishlist: Save favorite items for later (requires login).
- Remove from Wishlist: Easily manage saved items.
- Dedicated Wishlist Page: A complete overview of all saved products.
- Frontend Framework: Next.js (React)
- Language: TypeScript
- Database: MongoDB
- Styling: CSS / Tailwind CSS (Depending on implementation)
- Authentication: Custom JWT / NextAuth (Depending on implementation)
Follow these instructions to set up the project locally on your machine.
Make sure you have the following installed:
-
Clone the repository:
git clone <your-repository-url> cd gc02-yuzzaf
-
Navigate to the app directory (if applicable):
cd app -
Install dependencies:
npm install
-
Set up Environment Variables: Create a
.envor.env.localfile in the root directory and add your credentials:MONGODB_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/figurin?retryWrites=true&w=majority JWT_SECRET=your_super_secret_jwt_key NEXT_PUBLIC_BASE_URL=http://localhost:3000
-
Run the development server:
npm run dev
-
Open your browser: Navigate to http://localhost:3000 to see the application running.
This project was developed as part of a Hacktiv8 learning challenge. All rights reserved by the respective authors.