OdoJoe / D15-Movie-Lovers-Store

0 stars 1 forks source link

D15 Movie Lovers Store

This is the eCommerce website of the D15 Movie Lovers Store. A store front specialising in the sale of top quality boutique label Blu Ray, 4k UHD and special editions of Movies. The overall idea from Portfolio Project 1 to this final project was to create a full D15 Movie Lovers Club which would incorporate a Blog (Portfolio Project 4), Quiz (portfolio Project 2) and a Store Front (portfolio Project 5) to cater to a healthy and growing Movie Lovers club in the Dublin 15 area. And also to grow a separate customer base with niche interests in Physical Media through this eCommerce platform. I have a secondary goal of signing up non club customers to a Newsletter with the intention of also growing the club member numbers by eventually offering Club Member only discounts and special deals, through the Newsletter, in association with the UK Blu Ray labels such as Eureka, Arrow Video, Indicator and 88 films.

Responsive design mockup

View live site here: https://d15-movie-lovers-store.herokuapp.com/

Test Card for transactions: 4242 4242 4242 4242 Date: 04 24 CVC: 242 ZIP: 42424

Marketing Strategy

Customers

The site caters to a niche customer base. People whom appreciate the experience of watching movies in the highest quality possible. Physical media enables us to enjoy films, of all types and genres, in their best formats through modern remastering techniques, proper and original colour gradings and free from the inadequacies of streaming platforms such as poor availability of titles and artefact creep (blocky transitions) in darkly shot scenes. There is a healthy customer base of 'Movie Lovers' as evident in the availability of extremely rare films on modern boutique label releases. A quick scan of the bigger boutique label companies in the UK such as 88 Films, Eureka, Indicator and Arrow Video (not to mention the myriad of labels in the US) and its clear there is a healthy desire still for high quality physical media.

Products

This platform will cater to the Irish customer base and I believe it is the only Physical Media dedicated site in Ireland. The primary product focus is the sale of high quality Blu Ray, 4k UHD and Special Editions of films. The product will be sourced in bulk from the UK labels 88Films, Eureka, Arrow Video and Indicator. With future expansion the company could source US editions from labels such as Vinegar Syndrome, Shout Factory, Scream Factory etc. The company also intends to stock Movie Memorabilia, T-Shirts, Action Figures, Vinyl Soundtracks etc as the customer base grows.

Payment

Stripe has been implemented to the site as a relatively user friendly payment system. The payment structure to the site is a common process. Client will add the items they wish to buy to the Bag, enter secure checkout, validate the purchases on the summary, enter the payment screen, enter personal details and credit card details and complete purchase.

Web Marketing

Users:

Users are people interested in Physical Media collecting and Movie Lovers. Users can regularly be found in dedicated blogs, Dedicated FaceBook groups, Instagram channels and commenting on Physical Media youtube videos. While it's hard to make an informed judgement on the age group of Physical Media customers I will say, from my own engagements and club memberships, that it seems to be more common in the 30-60 age group.

Which Social Media Platform to use for promotion:

According to Hootsuite.com (Link: https://blog.hootsuite.com/facebook-statistics/):

It is clear from the stats above that using Facebook to promote the D15 Movie Lovers Store is essential. However Youtube and Instagram will also be implemented in the future. According to Wallaroomedia (link: https://wallaroomedia.com/blog/social-media/tiktok-statistics/) 80% of US Tik Tok Users are aged between 18-34. The age range and the general use of Tik Tok as a performance platform I don't see how Tik Tok could help the promotion of the D15 Movie Lovers Store at this time. Efforts should be spent on promotion through Facebook.

Online Content and User engagement:

From my own experiences as a movie collector and avid Physical Media champion I find a lot of my information comes from Facebook groups, Youtube creators and reviewers and Instagram influencers regularly creating content around upcoming releases, rumoured releases and unboxing and review based content. It is my intention to start a channel with Youtube and a page with Instagram to compliment the Facebook page at a future date. Online creators have been instrumental in my own sourcing of Blu Ray, 4k UHD and special editions of certain Movies and I believe I can also engage with customers, Club Members and a wider untapped audience through such content.

Sales and Discounts:

The business will run Sales over holiday periods and intermittent Club Member discount campaigns throughout the year. However the Offers section of the website is currently blank and will be updated once an actual offer campaign is devised.

Business Goals and strategy:

The business goal is to first and foremost sell our product, for profit to our target demographic. A secondary goal is to add memebers to the D15 Movie Lovers Club and to grow the business customer base in Ireland using the Club and Newsletter. The marketing strategy for the site will be Search Engine Optimisation, email marketing through the Newsletter and social media marketing with the implementation of a Facebook page. I intend to grow the Facebook page and regularly post updates on new releases, low stock items, general movie 'banter' etc.

The beauty of using basic SEO, the Facebook page and the Newsletter for marketing is its free. I don't intend to spend on advertising until I know I have used this strategy as far as it will take the platform.

Email Marketing

I set up a custom Newsletter service. Once the User registers with the site they can then sign up for the Newsletter.

Facebook page:

facebook shot 1 facebook shot 2 facebook shot 3

Privacy Policy:

https://www.privacypolicygenerator.info was used to generate a standard Privacy Policy.

Please see Privacy Policy here: https://www.privacypolicygenerator.info/live.php?token=rvpuphBIoDGo13y658txPwQQ9RnYARQQ

Search Engine Optimization:

The site was built with Key Words in Mind. Throughput the site you will note the use of keywords directly related to Movies. A basic list of keywords I include below for reference:

seo keywords

Sitemap.xml

A sitemap was generated and included using XML-sitemaps.com. This lists the relevant URLs to facilitate search engine navigation through the site with a goal to making the site more likely to display as high up the search engine listing as possible. The sitemap was generated by following these steps:

  1. Navigate to XML-sitemaps.com
  2. Paste in the deployed site where prompted
  3. Download the sitemap file
  4. Make sure the file is named 'sitemap.xml and add it to the root folder

robots.txt

I created a robots.txt file to ensure search engines dont crawl through sensitive sections of the site. Which ultimately facilitates a more robust search engine process and improving the SEO overall.

robots.txt

Strategy

Agile

Project Goal

Data Models

Models screenshot

Models screenshot

Models screenshot

Models screenshot

Models screenshot

Models screenshot

Models screenshot

User Stories

Completed User Stories:

As a regular visitor to the site I can:

User Stories not completed in this iteration:

As a regular visitor to the site I can:

The four user stories not completed have been noted for future development. It was simply a timing issue in this case to not include these stories in the initial development block. An effort to prioritise work items rendered the four above non essential.

Design

The project scope was reduced and simplified as I approached my deadline. I decided to concentrate on coding the store in a simple fashion with full CRUD functionality intact.

The user stories relating to 'ratings', 'Notify me', 'Stock availability' and 'social media presence', while not implemented at this stage of development due to timing constraints will be added to the store at a later date.

I relied very heavily on the course content walkthrough project 'Boutique Ado' and while a lot of the desigin elements from the project has carried over I made sure to 'reengineer' the design to my own purposes. Hence the colour scheme and Typograpy are used from the previous portfolio projects PP1, PP2 and PP4. This is to maintain a uniform approach so as when the individual projects are merged into one Store/Club offering for the D15 area, the design will match.

The main colour scheme used is:

Imagery

As the site is a movie physical media store I have included 11 films as example products. I chose films that are a mixture of well known classics and some rarer titles to appeal to the collector sensibility

Wireframes

Landing page desktop

All Products page desktop

Individual Product page desktop

Secure Checkout page desktop

Checkout page desktop

Payment Complete page desktop

Landing page tablet

All Products page tablet

Individual Product page tablet

Secure checkout page tablet

Checkout page tablet

Payment complete page tablet

Landing page mobile

All product page mobile

Individual product page mobile

Secure checkout page mobile

Checkout page mobile

Payment complete page mobile

Differences between the Wireframes and finished blog

Features

Nav Bar

sign up form feature

my account and bag hover

my account and bag hover

button idle

button hover

my account dropdown

my account dropdown

empty bag click

movie button dropdown

Blu Ray button dropdown

search bar functionality

landing page register

landing page newsletter sign up

single product page

checkout summary popup

dropdown sort box

review function

review function

review function

review function

review function

review function message

review function message

quantity update button

quantity update button

order summary in the checkout page

incorrect email message

successful checkout message

full order summary

successful sign in message

sign out page

custom 404 page

django admin panel

Verify Email Prompt

Verify Email Success

actual verify email inbox

confirm email address

actual verify email inbox

Newsletter content

Newsletter message popup

newsletter email recieved

news letter email

stripe payment records

Features Left to Implement

Testing

I used the W3c Markup validator, the W3C CSS Validator and the Pylint tool built into the terminal.

W3C Markup validator results:

W3C Markup Results Landing Page

W3C Markup Results Products Page

W3C Markup Results Single Product Page

W3C Markup Results Newsletter

W3C Markup Results Bag

W3C Markup Results Checkout

W3C Markup Results Checkout Success

W3C Markup Results Checkout Success

W3C Markup Results login

W3C Markup Results signup

W3C CSS validator results:

CSS Validation Results

Pylint validator results:

views.py bag

views.py products

views.py home

views.py checkout

models.py checkout

models.py home

models.py products

lighthouse test:

Bugs

Testing user stories

  1. As a regular visitor to the store I can easily pay for my selected products so that I am more likely to visit the store again
  1. As a regular visitor to the store I can gather my selected products in a user friendly shopping cart so that I can review and pay for my products with ease
  1. As a regular visitor to the store I can add, edit and delete my reviews. (Including the three user stories here for one test method)
  1. As a regular visitor to the store I can view my cart but also return to shopping without entering the payment screen so that return to shopping and payment are two separate options which makes it easier to return to shopping or go to payment
  1. As a regular visitor to the store I can filter the stock items so that I can quickly find what I am looking for.
  1. As a regular visitor to the store I can sign up for a newsletter so that I can stay informed of new updates to the store
  1. As a regular visitor to the store I can view high quality images of the products so that I can pick my desired product with ease.
  1. As a regular visitor to the store I can easily search for products so that I can find specific products without the need to view all products.
  1. As a regular visitor to the store I can read simple product descriptions so that I am better informed of my product choices.
  1. As a regular visitor to the store I can login with ease so that I can get to shopping quickly or write up reviews
  1. As a regular visitor to the store I can leave reviews and ratings so that I can help better inform the next person of the quality of the product
  1. As a regular visitor to the store I can easily visit the stores social media presence so that I can engage with the business more regularly
  1. As a regular visitor to the store I can clearly see stock availability for each product so that I can make a more informed decision when shopping.
  1. As a regular visitor to the store I can select a 'Notify Me' option when a product is out of stock so that I am notified when the product is in stock.

Further Testing:

Security

Technologies Used

Deployment

Heroku was used to deploy the site. The project was deployed using the following steps:

  1. Log into Heroku and create a new app

  2. Create an external database using ElephantSQL

  3. Log into Elephant SQL, click create new instance

  4. Set up plan, select Tiny Turtle which is free, leave tags field blank

  5. Select your region, mine was amazon-web-services::eu-west-1

  6. Click Review

  7. Ensure details are accurate and click Create Instance

  8. Return to the ElephantSQL dashhboard and click on your project instance

  9. Copy the URL to the clipboard

  10. In the terminal install dj_database_url and psycopg2 to connect to the external database

  11. Update the requirements.txt file

  12. Import dj_database_url in the settings.py file

  13. Run the showmigrations command to confirm you are connected to the external database

  14. Migrate the database models

  15. Create a superuser

  16. On the elephantSQL page for the database select browser

  17. Click the table queries button and select auth_user

  18. On the deploy tab on Heroku, click settings, click reveal config vars

  19. Add the following:

    • DATABASE_URL followed by the URL of the ELephantSQL database
    • PORT 8000
    • SECRET_KEY followed by the project secret key
    • DISABLE_COLLECT_STATIC (for development only this should be removed when deploying the site)
  20. On the Deploy tab, connect to GitHub, (search for the repository name)

  21. At the bottom of the deploy page, Enable Automatic Deploys. This allows for automatic deployment when you push to GitHub

Forking the GitHub Repository

We can make a copy of the of the original repository by forking the GitHub repository. This allows us to view or amend the without affecting the original repository

  1. Log in to GitHub and select the repository

  2. The fork Button is located at the top of the Repository, click it

  3. A copy of the Repository should be created

Making a local clone

  1. Log into GitHUb
  2. Select the Repository
  3. Click Clone or Download
  4. To clone the repository using HTTPS under 'Clone with HTTPS' copy the link
  5. Open Git Bash
  6. Change the working directory to the location where you want the cloned directory
  7. Type 'git clone' and paste the URL
  8. Press enter and the local clone will be created

Credits

Acknowledgments