Giter Club home page Giter Club logo

shopmost's Introduction

 

ShopMost

Github Action

ShopMost

Introduction

ShopMost is a GraphQL Based and Node, React, PostgreSQL ecommerce platform with essential commerce features. Built with React/Node/PostgresSQL, modular and fully customizables.

Quick Start

You can get started with ShopMost in minutes by running the following command:

npm install
npm run dev

Documentation

Support

If you like my work, feel free to:

  • ⭐ this repository. It helps.

Create a bug report

If you see an error message or run into an issue, please create bug report. This effort is valued and it will help all ShopMost users.

Submit a feature request

If you have an idea, or you're missing a capability that would make development easier and more robust, please Submit feature request.

If a similar feature request already exists, don't forget to leave a "+1". If you add some more information such as your thoughts and vision about the feature, your comments will be embraced warmly :)

Contributing

ShopMost is an open-source project. We are committed to a fully transparent development process and appreciate highly any contributions. Whether you are helping us fix bugs, proposing new features, improving our documentation or spreading the word - we would love to have you as part of the ShopMost community.

Please refer to our Contribution Guidelines and Code of Conduct.

shopmost's People

Contributors

alperendev98 avatar dependabot[bot] avatar kkumarcodes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

shopmost's Issues

[FEATURE REQUEST] Create a promotion without a coupon code

It would be helpful to have the ability to create promotions that are applied automatically, without having to apply a coupon code.

For example, a discount on a certain product line that is end-of-life that you want to promote to get rid of it.

[BUG] Two problems with "Sort By" dropdown in category view

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. "Please select" is shown twice:

  2. This is because the Sorting component in the catalog module passes in a "Please Select" option
    But the underlying Field component already adds one because no placeholder prop is specified:

  3. Sort order doesn't work:
    It looks like the urlParam gets set correctly, but nothing actually changes in the component.
    PS - Ascending should probably be an up arrow, and Descending should be a down arrow!

[BUG] Multiselect attributes do not work

Describe the bug
While a user can create a multiselect attribute, selecting any of it's options while creating a product is not possible.

To Reproduce
Steps to reproduce the behavior:

  1. Create a multiselect attribute with a few options
  2. Go into product creation

Expected behavior
User can choose one or more attributes from the multiselect attribute.

Actual behavior
After clicking on any of the attributes options it gets highlighted, but as soon as user
clicks on a different option the highlighting disappears, the attribute option isn't selected/saved in any way.

Background (please complete the following information):

  • NodeJS Version: 21.5.0
  • ShopMost Version: 1.0.0
  • OS: Manjaro Linux Kernel: 6.6.10-1-MANJARO
  • Browser: Firefox

Issues with PriceFilter

  1. Max price collides with min price:
  2. I can't change the min price. If I click that handle, it just moves the max price.
  3. If max price and min price are too close, the text is in the wrong spot, and things just don't work well:

[BUG] navigation to the next page doesn't work as expected.

Description
In the catalog module, when user splits catalog list in two or more and then proceeds to enter next list, instead of being redirected to page 2 he is redirected to page 11. The problem is more general than that. When user is on the page X then he will be redirected to X1 instead of X + 1.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'admin/products' or 'admin/categories' or any other component inside catalog module.
  2. make sure there are enough items for the list to split into two parts or more.
  3. Click on right arrow with '>' icon in the "Show X per page" bar.
  4. 11th part of the list is displayed instead of 2.

Screenshots
Screenshot from 2024-01-25 14-41-21
Screenshot from 2024-01-25 14-41-31
Screenshot from 2024-01-25 14-41-50

Background:

  • NodeJS 20.10.0
  • Postgres 13.12
  • ShopMost v1.0.1 1d95be0
  • OS: Ubuntu 22.04
  • Browser: Chromium

probable cause of error
Somewhere in the code concatenation happens instead of addition.

[BUG] Discount coupons with more than 100% discount of entire order value

Describe the bug
When adding coupons in admin panel, it is possible to insert and enable the coupon that has more than 100% discount of whole order value, resulting in shop 'paying the customer for their purchase'.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'admin' panel
  2. Click on 'coupons' under 'promotion'
  3. Click on the green 'New coupon' button
  4. In the window that appears, insert more than 100 units value in the 'Discount amount' box
  5. In the 'Discount Type' selective menu, select 'percentage discount to entire order'
  6. Coupon is added and active to use

Expected behavior
When selecting 'percentage discount to entire order', a limit on the page should be set to deny adding coupons with more
then 100% discount percentage rate

Screenshots
higher1
higher2

Background (please complete the following information):

  • NodeJS 20.10.0
  • Postgres 13.12
  • ShopMost 1.0.1
  • OS: Fedora
  • Browser: Mozilla Firefox

[BUG] Qty input on PDP

Is your feature request related to a problem? Please describe.
Users can type nonnumber values in qty picker input on PDP.
When validation is triggered it shows a message with regex. Many users can't really understand regex.

Describe the solution you'd like
Qty input should have the type of number and only accept positive numbers.
I would suggest a better validation message that would improve UX.

[BUG] Creating category with Name Consisting Only of Spaces is possible

Describe the bug
Creating a category with a name consisting only of spaces is possible, which should not be allowed. This category appears in the list of categories, but clicking on it is not possible. As a result, there is no way to enter the category editing mode without resorting to HTML code. A similar issue occurs on the storefront when setting the category as visible.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the category creator (Admin panel -> Categories -> New Categories).
  2. Enter a required data but category name consisting only of spaces.
  3. Save the category.
  4. Navigate to the list of categories and observe the created category.
  5. Attempt to click on the category.

Expected behavior
Creating a category with a name consisting only of spaces should be prevented.

Screenshots
obraz
obraz
categoryPanel.webm

Background:

  • NodeJS 20.11.0
  • Postgres 13.12 (as Docker Container)
  • ShopMost 1d95be0 (last working)
  • OS: Ubuntu 22.04
  • Browser Opera, Firefox

[BUG] typing 0 in the "Show per page" field is possible, then application crashes.

Description
In the catalog module, it is possible to put 0 in the "Show per page" bar. Application the shows either Infinity or NaN depending on if there is any element in the catalog. This bug is present in all submodules (products, categories, collections, attributes).

To Reproduce
Steps to reproduce the behavior:

  1. Go to '/admin/products' or any other submodule of catalog.
  2. Input 0 into 'Show per page'.
  3. All elements disappear and there is Infinitely many pages (or NaN).

Expected behavior
Application should not let user put 0 into the box.

Screenshots
Screenshot from 2024-01-25 14-54-25
Screenshot from 2024-01-25 14-54-39

Background (please complete the following information):

  • NodeJS 20.10.0
  • Postgres 13.12
  • ShopMost v1.0.1 1d95be0
  • OS: Ubuntu 22.04
  • Browser Chromium

[FEATURE REQUEST] Edit homepage in CMS

Is your feature request related to a problem? Please describe.
It's currently impossible to edit the homepage without code knowledge.

Describe the solution you'd like
Homepage should be editable using the CMS section in the admin panel.

Describe alternatives you've considered
The only alternative is editing the homepage in code, which is not useful for people who cannot code.

[FEATURE REQUEST] Lack of Brute-Force Attack Protections

Summary:

The system currently lacks robust protections against brute-force attacks, leaving user accounts vulnerable to unauthorized access through repeated login attempts.

Details:

During testing, it was observed that the system does not implement account lockout or throttling mechanisms after a defined threshold of consecutive failed login attempts. This exposes user accounts to the risk of brute-force attacks, where attackers can systematically guess passwords until successful.

Recommendation:

Implement effective brute-force attack prevention measures, such as account lockout, throttling, and time-based lockout. This will significantly enhance the system's security and mitigate the risk of unauthorized access.

Steps to Reproduce:

  1. Attempt multiple consecutive failed login attempts using various passwords.
  2. Observe the system's response to failed login attempts.

Expected Outcome:

The system should lock the account or apply throttling after surpassing the configured threshold, preventing further login attempts for a specified duration.

Note:

Addressing this issue is critical to fortify the system against brute-force attacks and uphold the overall security of user accounts.

App does not work

Hello,

we have been using your app for a few months for testing. Unfortunatelly, since the last commit the app does not seem to be working. We are doing things exactly like they are stated in Readme, so no clue why doesn't it work. We can provide you with some screenshots if that would be helpful.

Is everything okay with app when you use it? Maybe 'Readme' file isn't up to date?

sincerely,
wojtek777
[email protected]

[BUG] Attribute Groups issues

Hello folks!
It's really great project, I appreciate your effort!

I just noticed a bug related to attribute groups:

version: 1.0.0 rc-5
node: 18.16.0
OS: macOS 13.2.1
postgres: 15

pre-conditions:
you have at least one custom attribute

Steps to reproduce:

Fill create product page (Do not select attribute, leave it "Default")
Tap "Save". Wait for page reloading
Tap "Create a variant group" and get error
Try to select another attribute group for product
Expected:
You're able to select another attribute group and create variant

Actual:
You always get error when trying to change attribute group.
Error message:
You can not change the attribute group of a product that is already in a variant group.

There is no way to eliminate the error except delete and add product again.

Another bug I noticed, you can add and buy item even if qty=0 in case product has several variants

[FEATURE REQUEST] Have the ability to have multiple prices for the same product

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There is no way to insert multiple prices for the same product. This would be helpful to show crossed out prices if you want to apply promotion for a specific product to increase its sales. You'd normally have at least a base price and a discounted price.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Having the ability to manipulate prices for products to increase sales

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[BUG] Best sellers wrong currency and without tax

Describe the bug
In admin panel, the "best sellers" widget on the dashboard always shows dollar currency symbol regardless of the setting. Also, the shown amount does not include tax.

To Reproduce
Steps to reproduce the behavior:

  1. Go to admin panel
  2. Go to dashboard
  3. Look at best sellers widget

Expected behavior
The best seller widget should adhere to currency setting, and also include the relevant tax based on tax category.

[FEATURE REQUEST] Implementation of Password Complexity Requirements

Summary:

The system currently lacks mandatory password complexity requirements, posing a potential security risk due to weak or easily guessable passwords.

Details:

Upon examination, it was noted that the system does not enforce password complexity standards, such as minimum length, inclusion of special characters, or a mix of uppercase and lowercase letters. This absence of requirements may lead to the usage of weak passwords, increasing the susceptibility to unauthorized access.

Recommendation:

Introduce robust password complexity requirements to enhance the security of user accounts. Consider implementing standards such as minimum length, inclusion of special characters, and a combination of uppercase and lowercase letters. This will contribute significantly to fortifying the system against potential security threats. Additionally, empowering administrators with the ability to customize and set password policies will enable them to tailor security measures according to the specific needs and risk profile of the organization. This level of flexibility ensures that the implemented password complexity policies align seamlessly with the overall security strategy, creating a more resilient defense mechanism.

[BUG] LIMIT must not be negative

Describe the bug

The filter that is situated on almost all the views in the Admin Panel does pop a blank page with the following error : LIMIT must not be negative, if you put a negative value, it's a small bug but still we need to catch every exception.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Admin Panel'
  2. Click on 'Categories or Products'
  3. Change the value in Show per page with a negative value '-1 for example'
  4. It should display : LIMIT must not be negative

Expected behavior

Normally when putting a negative value it should at least indicate with an alert that the value is not correct or just do nothing, but in this case it pops out on a blank page with the error below.

Background (please complete the following information):

NodeJS v16
Postgres v15
EverShop v1.0.0-rc.8
OS: Linux Ubuntu Focal
Browser: Chrome

Solution

I have found a workaround by modifying the Pagination JSX with the following snippet on the onKeyPressLimit function :

const onKeyPressLimit = (e) => { .... if (limitNumber <= 0) { limitNumber = 1; } .... };
It works fine

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.