Skip to content

Latest commit

 

History

History
97 lines (87 loc) · 3.25 KB

README.md

File metadata and controls

97 lines (87 loc) · 3.25 KB

Ecommerce-Store

This is a general-purpose Ecommerce store model ready to be adapted and modified to fit any ecommerce business.

Store

Ecom-Store

Cart

Ecom-Cart

Checkout

Ecom-Checkout

Motivations

I love Python and becoming a Python developer had always been my dream.
Now that I am one, becoming one of the best in the game is yet another huge dream which I pursue every minute of my life.
At the moment of writing this readme doc, I am a junior Python developer with 16 months programming experience working extremely
hard to becoming a senior Python developer in a short period of time, perhaps in 1 year if possible.
The hunger to learn, grow, be one of the best and get to the top is my motivation.

         if python:       
             stayHungry = True  

Lessons Learned

This 2-month project has been a very challenging one. The journey drove me deeper into more advanced pythonic web development concepts like:

  • How to render products and add image fields to product models.
  • Advanced database modeling: one to many & many to many relationships.
  • An introduction to JavaScript.
  • How to write functions in JavaScript.
  • How to add event handlers in JavaScript.
  • How to set cookies in JavaScript.
  • How to work with Python decorators.
  • How to create a checkout form and logic.
  • How to integrate payment solutions to a website or an application.

Some of the challenges I faced creating this Ecommerce store was getting stuck so many times. I had to find my way out by googling up information and tutorials, books (Django for professionals, Automate the boring stuff with Python, Python crash course), using stack overflow and django documentation e.t.c

Installation

1 . Clone the repository

  git clone https://github.com/<username>/<forked-repo>.git

2 . Create your own virtual environment

  python3 -m venv venv
source venv/bin/activate

3 . Install your requirements

  pip install -r requirements.txt

4 . Create a new mySQL database

  CREATE DATABASE databasename
$ \connect databasename

5 . Generate a new secret key 6 . Rename the Project

7 . Make your migrations. The only migrations that should appear in each of your app’s migrations folders are called ‘init.py’. As we have started a new database, we can delete any existing migrations and migrate from scratch.

   python manage.py makemigrations
$ python manage.py migrate

8 . Create a new superuser

 python manage.py createsuperuser 

9 . Start the development server and ensure everything is running without errors.

 python manage.py runserver

Features

  • Login Users
  • Logout Users
  • Store
  • Add to cart
  • Cart
  • Cart total
  • Update cart
  • Checkout
  • Guest checkout
  • Process orders
  • Shipment
  • cookies
  • Payment gateways

Tech Stack

Client: HTML5, CSS3, Bootstrap4, JavaScript

Server: Python, Django

Database: SQLite3