Eshop
WELCOME TO Eshop
Welcome to Eshop an online e-commerce store which server as your one stop shop for all your tech needs. There are plans to add products to our already growing inventory very soon. This online store was created using Django frameworks and PostgreSQL to manage the inventory database. The shop features a secure checkout payment with stripe payments which links in to the user profile and a complete order history included on the profile page. Eshop has many more features which will included down below.

### Motivation for creating an E-commerce store The main Motivation for creating an E-commerce store was, is that when shopping online for tech information I find it difficult to choose as there to many distractions and adverts on these sites trying to promote you to buy stuff. Eshop is a simple e-commerce store with best products on the market available for you!
The target audience for this site are, people that tired of these big online stores, trying to sell you stuff you don’t want or stock they can’t sell. Eshop has the best products available to buy at best prices for people that don’t want to spend loads of money but still want the best tech on the market today.
Eshop was designed with security in mind. From the secure checkout, and to pages that have restricted access for the users to keep their information safe, such as the wish list and user profile including delivery information and a complete order history available so why not shop today. Below i have included statistics to justify my reasoning for picking an ecommerce store as my final project.
Ecommerce has been growing at a remarkable pace for the last ten years, primarily due to its convenience. Its popularity simply exploded during the lockdown in 2020, as it presented shoppers with a safe alternative to visiting physical stores.
UK online retail sales have more than tripled in the last ten years.
Ecommerce in the UK grew 46.5% in 2020.29.6% of UK consumer spending is expected to shift to online purchases permanently.
55% of UK shoppers will continue to use primarily online channels after the pandemic.
80% of global consumers feel comfortable with returning to physical stores.
35% of shoppers browse online stores for fashion inspiration at least once a week.
In-store and mobile commerce are the two most popular shopping channels.
Additionally, websites often have more exclusive sales and discounts than in physical stores, and you may be able to find products that were not discounted in-store available online for a much cheaper price. You are then able to pick these products up from your local store or get them delivered to your house.
### First time Visitor Goals
### Returning Visitor Goals
### Admin Privileges
The wire-frames for ‘Eshop’ were produced inBalsamiq. There are frames for a full width display ( 1920 x 1080 package)and a small mobile device (360 x 640). The final site varies slightly from the wire-frames due to bugs and design changes during development that occurred during the creation process. Mobile wire-frames haven`t been included due to the use of bootstrap4 and django frameworks this includes integrated responsiveness package.

When i was designing the Eshop e-commerce store I wanted it to be to be simple to use for the user with a simple nave bar with a dropdown menu which contains all the different categories and products the online store has to offer. Once again the time frame for this project was very tight so i used bootstrap 4 to create a lot features the site has to offer. I choose a purple and white as the main colors for the site with red only serving as warning color. Django Allauth and crispy forms where also used in the creation of the online store for the security of the site and design of the forms.
On the products page I have chosen to put the product cards in rows of 4 with a purple border, surrounding the card. Inside the card I have put edit and delete buttons with a category tag and a price and a brief description of the product, this has been done to mainly have the users focus to be on the products themselves, due to user feedback I included links to the product detail page on the descriptions.

THe colors that where chosen are displayed in image above.
Purple #37168a was used for border and text.
red #ff0000 was used for warnings and buttons.
White was used for a few various things backgrounds and text, flash messages and text.
The home page features a nav bar with dropdown menu so the user can select the different categories available this covers all pages of the online store. Included at the top of the page is a search bar and in the top right is a profile menu and a shopping bag. Below that there is an image and a button that takes you through to the online store all products page.

All the product pages have the same designs which includes a simple border and a picture and product information on them.

This page contains an image of the product with a more detailed description of the item. Below that information is the price wishlist link so user can items to their wishlist


The checkout page features information on what you are about to purchases.

The checkout page features your basic information you would expect to find on a checkout. The from covers everything form you your name to your address and card details.

The profile pages displays the use login details in a form with delivery information and recent order history purchases. the login and register page are very Similar the only differences are the text on the pages. The login and register pages are very simple in there design.

There are two ways admin and staff can edit product information either on the Django admin page or on the product management page.

Conformation once an order has been completed are shown in the image below.

Most existing Django apps that address the problem of social authentication focus on just that. You typically need to integrate another app in order to support authentication via a local account.
This approach separates the worlds of local and social authentication. However, there are common scenarios to be dealt with in both worlds. For example, an e-mail address passed along by an OpenID provider is not guaranteed to be verified. So, before hooking an OpenID account up to a local account the e-mail address must be verified. So, e-mail verification needs to be present in both worlds.
Integrating both worlds is quite a tedious process. It is definitely not a matter of simply adding one social authentication app, and one local account registration app to your INSTALLED_APPS list.
This is the reason this project got started – to offer a fully integrated authentication app that allows for both local and social authentication, with flows that just work.
Commercial Support
Above is the data schema for the relational database in the Eshop Models.
For the the relationship between the products and the wishlist, this is a one to many relationship meaning many products can go into 1 wishlist. This is also the same between the products and categories, as many products can go into one category.
This diagram also shows that per order only 1 order number is assigned showing a 1 to 1 relationship. What this diagram describes is that the relationship between the profile and wishlist is a 1 to 1 relationship meaning for each profile you can create 1 wishlist.
Also this shows that the checkout is updated by using the order Line item model as a 1 to 1 relationship. This is also the case for the relationship between the profile and user model.

### Deployment
This project was deployed to heroku and the steps to do this are below:
Please refer to **Testing ** for more information on testing ‘Quiz Of The World’.
# Clone Repository To Clone a repository use the following steps to guide you through it.
![clone Image]
The site was cerated for my milestone project 4 for the Code Institute Full Stack Software Developer diploma. I would like to thank all the tutors at the code institute for their help during the development of my first milestone project. I would also like to thank Tom Martin for his help as his feedback and support which was extremely key in completing my fourth milestone project. The wishlist app was sourced from stack overflow.