Skip to content

A website that implements CRUD operations and provides basic chat capabilities using socket.io

Notifications You must be signed in to change notification settings

maikusobu/ShopMaikusobu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👋 Welcome! folks, to ShopMaikusobu

ShopMaikusobu is a full-stack e-commerce and social web application that enables users to discover, buy, and manage products online, as well as chat and connect with other customers who share their interests. It is built with React, Express, MongoDB, and RTK Query.

📋 Table of Contents

✨ Features

  • Users can view a list of products with details such as name, price, description, and rating.
  • Users can view a list of customers's review and rating on the product they have purchased.
  • Users can explore a variety of products and discover other customers who have shared their opinions and experiences. They can initiate a chat with them and exchange insights and tips about the products they are interested in.
  • Users can add products to their shopping cart, change the quantity, or remove them from the cart.
  • Users can checkout and pay for their orders using a secure payment system.
  • Users can create an account, log in, log out, change their password and verify their email address.
  • Users can create a strong and secure password using a password generator that randomly generates a combination of letters, numbers, and symbols.
  • Users can pay for their orders using a credit generator that creates a virtual credit card number that is valid for one-time use only. This protects their personal and financial information from fraud and theft.
  • Users can update their profile information, such as avatar, payment method and shipping address.
  • Users can view their order history and track the status of their orders.
  • Users can rate and review the products they purchased using a star rating system and a text box. They can also edit or delete their reviews at any time (ongoing).
  • Users can chat with other users who have reviewed the products they are interested in. This allows them to exchange opinions, feedback, and tips about the products.
  • Users can also contact the shop owner or the customer service team through a contact form that verifies their identity and sends them a confirmation email.
  • Users can receive notifications and updates about their orders, products, and chats via email (ongoing).
  • The application handles user authentication and authorization using JWT tokens

🖨️ Technologies

JavaScript React Node.js Express Redux mongoDB websocket CSS REST
  • React: A JavaScript library for building user interfaces.
  • Express: A web framework for Node.js that provides features for web and mobile applications.
  • MongoDB: A document-based database that stores data in JSON-like format.
  • RTK Query: A data fetching and caching library for React applications that simplifies data fetching and caching logic.
  • Node.js: A cross-platform runtime environment and library for running JavaScript applications outside the browser. It is used for creating server-side and networking web applications1
  • Socket.io: A library that enables low-latency, bidirectional and event-based communication between a client and a server. It is built on top of the WebSocket protocol and provides additional features like fallback to HTTP long-polling or automatic reconnection2
  • Cluster: A module that allows Node.js to create multiple processes that can share the same server port. It is useful for improving the performance and scalability of Node.js applications.
  • Mantine Ui: Mantine UI is a set of responsive components for building web applications with React. It is free and open source, and supports both light and dark themes

⬇️ Installation

To run the application locally, you need to have Node.js and MongoDB installed on your machine. Then follow these steps:

  1. Clone the repository from GitHub: git clone https://github.com/maikusobu/ShopMaikusobu.git
  2. Navigate to the project folder: cd ShopMaikusobu
  3. Install the dependencies of both server and client: npm run install-all
  4. Populate the database: npm run populate
  5. Build the server and client: npm run build-all
  6. Start the server and client concurrently: npm run start-all
  7. Open your browser and go to http://localhost:5173

🌐 Demo

You can also view a live demo of the application here: https://shopmaikusobu.vercel.app/

🚍 Resources

Here are some external resources or references that are related to this project:

About

A website that implements CRUD operations and provides basic chat capabilities using socket.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages