Skip to content

VladBrok/payback

Repository files navigation

Payback — a fully-featured e-commerce store

screenshot of the homepage

Table of contents


Description

Payback is an e-commerce site where people can buy and sell products. Users can communicate with each other using build-in messenger. To understand how reliable a seller is, users can view all reviews about that particular seller (a review can be left only after the product has been purchased).
Initially, access to the site is read-only. Users must authenticate in order to perform any actions, such as buying or selling products.

Disclaimer: Payback is a pet project. All users and products presented on the site are not real, their photos, descriptions, etc. are obtained from public APIs.
The payment system is working in test mode.


Features

Messenger

You can communicate with other users directly on the site.

To create a chat with someone:

  1. Sign in
  2. Go to the page of the user with whom you want to create a chat. Let's say it's user #11
    screenshot of the user page
  3. Click "Write a message"

If everything goes well, you will be redirected to the chat page
screenshot of the chat page
After that, you can type a message in the text field and click on the blue arrow to send it.
screenshot of the chat with a message
If your interlocutor writes a message, you will see it in real time.
screenshot of the chat with two messages
A list of all chats is available on the chats page.
screenshot of the chats page


Buying products

The payment system works in test mode, so the real payment won't be made. You can buy a product just for proof of concept.

To buy a product:

  1. Sign in
  2. Go to the page of the product that you want to buy. Let's say it's product #35
    screenshot of the product page
  3. Click "Buy" and follow the instructions provided above the "Buy" button to make a test payment

If everything goes well, you will be prompted to leave a review. From now on, this product is sold. The balance of the user who put this product up for sale will be increased by the price of the product minus service charges.
screenshot of a sold product


Selling products

You can put your own product up for sale so other users can buy it.

To put your product up for sale:

  1. Sign in
  2. Go to sell page
  3. Specify product information:
    1. Select a category by clicking on it
      screenshot of categories
    2. Upload a photo of your product by clicking "Upload". After the photo uploads, a "Continue" button appears. Click it to proceed. screenshot of upload photo
    3. Specify a title (optional), then click "Continue" screenshot of title
    4. Specify a description (optional), then click "Continue" screenshot of description
    5. Specify a price, then click "Continue" screenshot of price
    6. Select a product status by clicking on the appropriate button. If you want premium status, please refer to the buying products section for more information about how to make a payment
      screenshot of product statuses

If everything goes well, you will be redirected to the profile page and your product will appear here. If your product has a premium status, it will also appear on the home page.
screenshot of the uploaded product


Leaving reviews

After buying a product, you can leave a review about it and about the seller.

To leave a review:

  1. Buy a product
  2. After the review modal appears, enter your review text and select how many stars you want to give to the seller (for example, if I want to give 4 stars, I click on the fourth star)
    screenshot of a review
  3. Click "Submit"

If everything goes well, the review will be created. You can find it by clicking the "reviews" link on the seller's page.
screenshot of all reviews


Authentication

Anyone can view home page, category page, product page, user page and review page. But if you want to buy products, sell products or create a chat with someone, you first must sign in.

To sign in:

  1. Go to sign in page
    screenshot of the sign in page
  2. Click on one of the auth providers
  3. Follow the steps required to authenticate with the selected auth provider

If everything goes well, you will be redirected to the profile page.
screenshot of the profile page

To sign out:

  1. Go to profile page
  2. Click "Options"
  3. Click "Sign out"

License

Payback is available under the MIT license. Payback also includes external libraries that are available under a variety of licenses.