ReCycleMart is an online marketplace for buying and selling second-hand products. This repository contains the frontend of the platform, built with cutting-edge technologies to deliver a seamless and user-friendly experience.
- Easy Listings: Post, browse, and purchase second-hand products effortlessly.
- Advanced Search: Filter products by category, price, condition, and location.
- Wishlist: Save your favorite items for later.
- Secure Transactions: Safe and reliable buying/selling experience.
- User Management: Ban/unban users and manage accounts.
- Listing Moderation: Review and delete inappropriate listings.
- Sales Tracking: Monitor sales and user activity.
Category | Technologies |
---|---|
Frontend | Next.js 15, TypeScript |
UI Library | ShadCN UI |
State Management | Redux Toolkit |
Styling | Tailwind CSS |
Authentication | Custom Auth, JWT |
- Node.js (v16 or higher)
- Git
-
Clone the Repository:
git clone https://github.com/zn-rabby/SecondHand-Client.git cd SecondHand-Client
-
Install Dependencies:
npm install
-
Set Up Environment Variables: Create a
.env
file in the root directory and add the following:NEXT_PUBLIC_BASE_API=https://second-hand-server-puce.vercel.app/api/v1
-
Run the Development Server:
npm run dev
-
Access the Application: Open your browser and navigate to
http://localhost:3000
.
resellbd-frontend/
│-- public/ # Static assets (images, icons, etc.)
│-- src/
│ ├── app/ # Application-level components and pages
│ ├── assets/ # Images, fonts, and other static assets
│ ├── components/ # Reusable UI components
│ ├── constants/ # Constant values used throughout the app
│ ├── lib/ # Utility functions and helper libraries
│ ├── providers/ # Context and global state providers
│ ├── redux/ # Redux state management
│ ├── types/ # TypeScript type definitions
│ ├── hooks/ # Custom React hooks
│ ├── services/ # API and service-related functions
│-- middleware.ts # Middleware configuration
│-- .env # Environment variables
│-- .gitignore # Git ignore file
│-- package.json # Dependencies & scripts
│-- README.md # Project documentation
Command | Description |
---|---|
npm run dev |
Starts the development server |
npm run build |
Builds the project for production |
npm run start |
Runs the production build |
npm run lint |
Checks for linting errors |
NEXT_PUBLIC_BASE_API
:https://second-hand-server-puce.vercel.app/api/v1
Endpoint | Description |
---|---|
GET /listings |
Fetch all products |
GET /listings/:id |
Fetch product details |
PATCH /listings/:id |
Update product data |
DELETE /listings/:id |
Delete product |
POST /listings |
Add a new product |
POST /transactions |
Place an order |
- Custom Authentication: Secure login and registration system.
- JWT (JSON Web Token): Used for secure API calls and session management.
- Role-Based Access Control (RBAC): Differentiates between admin and user roles.
- HTTPS: Enforced for secure communication.
- User Management: View, edit, and delete user accounts.
- Listing Management: Manage product listings (approve, edit, or delete).
- Order Management: Track and manage orders.
- Reporting: Generate reports on user activity and sales.
- Modern Design: Built with ShadCN UI and Tailwind CSS for a clean and responsive layout.
- Mobile-First Approach: Fully optimized for all devices, including mobile, tablet, and desktop.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes with clear and descriptive messages.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
For queries or support, feel free to reach out:
- Email: zn-rabby@gmail.com