ShopCube is an e-commerce solution for shops. Complete with cart, wishlist, and orders. Powered by Shopyo, a Python web framework built on top of Flask.
If you want to contribute, go ahead, we โค๏ธ it. We follow a ๐ฏ % first-timers-friendly policy. Feel free to join our discord group if you get stuck or would just like to chat and say hi.
This contribution guide has been adopted from the version used by Shopyo.
-
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:
$ pip install -r reqs/app.txt $ pip install -r reqs/dev.txt
-
Now initialize the app by running:
$ cd shopyo $ python manage.py initialise
-
Run ShopCube:
$ python manage.py rundebug
-
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" }
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.
If you need further assistance, feel free to contact @appinv or @shams 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 URISQLALCHEMY_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 theclass DevelopmentConfig(Config)
:SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(base_path, 'app.db')
-
I launched the app but nothing shows up in /dashboard.
- Log in as [email protected] with the password 'pass'
-
Additional development insights?
- Read the shopyo docs!