Welcome to the Online Marketplace API! This backend project provides a powerful and scalable API for an online marketplace platform. It is designed to mimic real-world scenarios by offering eCommerce features and a field for everyone to buy and sell products online.
-
User Authentication and Authorization:
- Users can sign in and authenticate using JSON Web Tokens (JWT).
- Secure authorization and access control based on user roles.
-
Page Creation and Management:
- Users can create their own pages to showcase their products or services.
- Different page types available: shop, freelance, and brand.
-
Ecommerce Capabilities:
- Shops can list and sell products with various attributes such as title, description, price, and category.
- Users can browse and search for products by category and other criteria.
- Cart functionality for users to add products, manage quantities, and proceed to checkout.
-
User Verification:
- Verified accounts are distinguished with a blue checkmark, enhancing credibility and trust.
-
Real-time Chat:
- Users can communicate with each other through the built-in chat system.
- Real-time messaging allows for seamless interaction and negotiation.
- Node.js: Server-side JavaScript runtime environment.
- Express: Fast and minimalist web framework for Node.js.
- MongoDB: NoSQL database for storing data.
- Mongoose: Object Data Modeling (ODM) library for MongoDB.
- JWT: JSON Web Tokens for secure authentication and authorization.
- Socket.IO: Real-time bidirectional communication library for chat functionality.
- Clone the repository:
git clone https://github.com/your-username/online-marketplace-api.git
- Install the dependencies:
npm install
- Configure the MongoDB connection in the project.
- Start the development server:
npm start
- Access the API endpoints at
http://localhost:8000
The API documentation provides detailed information about each endpoint, request/response formats, and authentication requirements. Please refer to the API Documentation for complete documentation.
This project is licensed under the MIT License.
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.