• Stars
    star
    257
  • Rank 153,258 (Top 4 %)
  • Language
    HTML
  • License
    Other
  • Created almost 5 years ago
  • Updated 7 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🛒 POS & ecommerce solution for Shops. (Woo-commerce for Python) Complete with cart and wishlist.

First Timers Only

🇲🇺 🇵🇰 🇳🇬 🇮🇳 🇻🇳 🇬🇭 🇬🇧

Discord CodeQL

shopcube ko-fi

shopcube is an e-commerce solution for shops. Complete with

  • 🛒 cart
  • wishlist
  • 📑 orders
  • 📤 upload by csv
  • 📊 charts
  • 🖌️ theming

If you want to contribute, go ahead, we ❤️ it. We follow a 💯 % first-timers-friendly policy. Join #shopcube if you get stuck or would just like to chat and say hi.

Powered by Shopyo, a Python web framework built on top of Flask.

Testimonials

source

This was my first time contributing to an open source project and I struggled quite a bit but Abdur-Rahmaan and shams are responsive , helpful, and welcoming!! I was able to make a small contribution despite having little experience using Flask. Whenever I had questions, they were answered well on discord. I recommend working with Abdur-Rahmaan and shams! If you're nervous about contributing, they make the experience much less intimidating than I had anticipated. --@taanguyen

I'd like to thank @Abdur-rahmaanJ for creating this project! Though I have limited experience working with Flask, and was unable to understand the code and its functioning at first, Abdur-rahmaanJ explained everything very patiently and helped me clear all the doubts! I was able to learn new concepts and it was an amazing experience overall. I'd recommend opensource newbies like me and even experienced contributors to make contributions to this project. 💯 --@geeythree

Quick try

$ python -m pip install shopcube
$ shopcube initialise
$ shopcube rundebug

Go to http://127.0.0.1:5000

🍼 First time setup

  • Install maildev

  • Run maildev, go to the webapp url shown

  • Download and install the latest version of git.

  • Configure git with your username and email.

    $ git config --global user.name 'your name'
    $ git config --global user.email 'your email'
    
  • Make sure you have a GitHub account.

  • Fork shopcube to your GitHub account by clicking the Fork button.

  • Clone the main repository locally (make sure to have your SSH authentication setup!). Replace {username} with your username.

    $ git clone [email protected]:{username}/shopcube.git
    $ cd shopcube
    
  • Create a virtualenv named env and activate the virtual environment:

    Linux/macOS

    $ python3 -m venv env
    $ . env/bin/activate
    

    Windows

    > py -3 -m venv env
    > env\Scripts\activate
    
  • Upgrade pip and setuptools:

    $ python -m pip install --upgrade pip setuptools
    
  • Install the development dependencies and shopcube requirements:

    $ python -m pip install -r reqs/dev.txt
    $ pre-commit install
    
  • Now initialize the app by running:

    $ python -m pip install -e .
    $ cd src/shopcube
    $ shopyo initialise
    
  • Run shopcube:

    $ flask run
    
  • Go to the link http://127.0.0.1:5000/ and you should see the shopcube app running.

  • Login as administrator by clicking on the login icon on the top right hand side of the screen.

    Enter [email protected] as the username and 'pass' as the pasword.

    After login, you should be directed to http://0.0.0.0:5000/dashboard/.

    # see config.json
     "admin_user": {
          "email": "[email protected]",
          "password": "pass"
      }
    

🎫 Some explanations

Shopcube has two modes:

  • package mode if you want to just use the app as is
  • control mode if you want to see exactly what's going on

Package mode has several commands to manage the json settings file

$ shopcube showjson # show settings
$ shopcube copyjson # copy json file from site-packages in current directory
$ shopcube applyjson # apply json file in current directory
$ shopcube restorejson # restore original json file in site-packages
$ shopcube create # create new project named shopcube in current directory
$ shopcube packageinfo # path of project

Control mode allows you to use Shopyo commands as you would in any project

$ shopcube create
$ ls shopcube/
├── app.py
├── config.example.json
├── config.json
├── config.py
├── conftest.py
├── file.log
├── __init__.py
├── init.py
├── instance
├── __main__.py
├── modules
├── __pycache__
├── pyproject.toml
├── requirements.txt
├── setup.cfg
├── static
├── tests
├── utils
└── wsgi.py
$ cd shopcube
$ shopyo initialise
$ shopyo rundebug # or flask run

Pull Requests

--> Add flag to readme

Make sure you have setup the repo as explained in First time setup before making Pull Request (PR)

  • Create a branch for the issue you would like to work on:

    $ git fetch origin
    $ git checkout -b <your-branch-name> origin/dev
    

    Note

    As a sanity check, you can run git branch to see the current branch you are on in case your terminal is not setup to show the current branch.

  • Using your favorite editor, make your changes, committing as you go.

    $ git add <filenames to commit>
    $ git commit -m "<put commit message here>"
    
  • Push your commits to your fork on GitHub. The -u option allows your local branch to be pushed to your GitHub repo.

    $ git push -u origin your-branch-name
    
  • Create a pull request. You should see the PR link in the terminal after you successfully push your commits. Link to the issue being addressed with fixes #123 in the pull request. See example PR.

🔨 Troubleshooting Guide

If you need further assistance, ping @contributor on discord.

  • When I initialise the app, I get an error related to MySQL (ie: a Connection Error)

    In config.py, make sure you have a database URI

    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{username}:{password}@{server_name}/{db_name}".format(
        username='shopcube',
        password='pass1234-A',
        server_name='localhost',
        db_name='shopcube'
    )
    

    or paste the following into config.py inside of the class DevelopmentConfig(Config):

    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(base_path, 'app.db')
    
  • I launched the app but nothing shows up in /dashboard.

  • Additional development insights?

Useful commands

$ flask flight-info

Python version: 3.10.7 (main, Sep  7 2022, 15:22:19) [GCC 9.4.0]
Shopyo version: 4.5.8
Shopcube version : 4.2.0
SQLALCHEMY_DATABASE_URI: sqlite:///shopcube.db

🍳 In Action

Tests

In venv

cd src/shopcube
python -m pytest ./

More Repositories

1

honeybot

🛩 A python IRC bot with simple plugins dev. Ignited in mauritius, first-timers friendly! Moved to github.com/pyhoneybot/honeybot
Python
60
star
2

greenberry

A one-line statement language with grammar and infinite look-ahead
Python
50
star
3

hooman

~ pygame for humans (pip install hooman) (p5js api) (55k+ downloads)
Python
44
star
4

ppython

Implementation of processing.org's processing in pure python. No dependency, no import and no run()
Python
44
star
5

termcharts

Terminal charts
Python
32
star
6

richterm

Rich terminals. follows Python's rich conventions
Rust
16
star
7

meteomoris

The weather in mauritius!
Python
13
star
8

Think-Python-Fr

Official french translation of Think Python - How To Think Like A Computer Scientist
HTML
10
star
9

jamstack

The easiest way to create jamstack sites, as simple or as complex as you like
HTML
10
star
10

download-stats

View your pypi download stats
Python
9
star
11

css-script

css script : the language for creating css shapes
Python
8
star
12

RedittyWalls

Cross-Platform Desktop Wallpaper Changer. Get fresh walls every day!
Python
7
star
13

Computer-Science-Notes

Notes regarding my computer science course.
Jupyter Notebook
5
star
14

PyQt5_CRUD

PyQt5 CRUD app for pyinstaller tutorial
Python
5
star
15

graphColourChange

Tamper script to change github's contribution colour.
JavaScript
5
star
16

pytestimonials

Testimonials about big companies using Python
4
star
17

dotdot

Python
4
star
18

Abdur-RahmaanJ

4
star
19

Abdur-rahmaanJ.github.io

HTML
4
star
20

cmdlaunch

launcher for python programs
Python
3
star
21

InternalO

📧 Open Php framework for Internal office use. It helps you track a small team with roster upload and in-mail system.
PHP
3
star
22

python-console-email-sender

You can now send e-mail through the command line !
Python
2
star
23

python-engineering-articles

Python
2
star
24

newB

Creating a new language
Python
2
star
25

pythonJS

Python built-ins in JS
JavaScript
2
star
26

p5js-socket-io

Python
2
star
27

shopyo-windows

How to deploy shopyo on windows
2
star
28

python-docs-ar

arabic translation of python docs
Python
2
star
29

aidre

🐍 📝 Python Translation Help Station - The software for 📄 .po file docs handling. A tool to help with official py docs translations
Python
2
star
30

simple-python

a collection of simplified examples i write
Python
2
star
31

Home-book-lending

Know to which friend you lended books to ! A simple system using PHP and MySQL to fireup on your local machine !
PHP
2
star
32

Registry-of-Mauritian-Bloggers

List of blogs from mauritius
HTML
1
star
33

pidroidbot-discord

Python
1
star
34

dbsleuth

1
star
35

TheotownPluginStore

HTML
1
star
36

newsmoris

News in mauritius
Python
1
star
37

soloLang

new lang by users of the sololearn app
CSS
1
star
38

p5js

p5js stuffs
JavaScript
1
star
39

Java-codes

Some codes in Java i write
Java
1
star
40

DjangoGirlsBlog

Python
1
star
41

betelgeuse

Static site builder engine starring powerful features that helps you build the site of your dreams.
1
star
42

django_static

1
star
43

localhostmail

1
star
44

apps-privacy-policy

privacy policy of apps
1
star
45

pySnips

some quick or interesting python snippets
Python
1
star
46

fastoo

Super-charged frameworks for building big fastapi apps
Python
1
star
47

AutoSEO

Revolutionizing SEO Through Machine Learning and NLP (WIP)
1
star
48

traveller

JavaScript
1
star
49

DomainManager

1
star
50

PMC_learnpyside

Home-cooked pythonmembers.club pyside2 / pyqt5 recipes (Easy)
Python
1
star
51

IRC

Forked bot
Python
1
star
52

DeliciousFlask-3.1

Flask Routes
Python
1
star
53

gitdemo

gitdemo
1
star
54

DeliciousFlask-2.1

Bare app with libs included
HTML
1
star
55

sololearnOS

An advanced os (recreation) software
JavaScript
1
star
56

POSMS

Tired of paying subscriber mail hosting / service? Here comes an open, free system powered by python !
Python
1
star
57

fileshh

File sharing site with Flask
Python
1
star
58

django_urls

Python
1
star
59

gitcreeps

The library for sneaking on committers!
Python
1
star
60

ProtoTyp

A css library for quick prototyping
CSS
1
star