Access main READEME file
View Re-Boot as a deployed project in Heroku
A combination of system based and manual testing processes was applied to this project to ensure the UXD was upheld. To make sure the data was correctly loaded, images would be successfully rendered and dynamic links would accurately support the user to navigate through this application.
The software has been thoroughly tested in many ways. JavaScript and its associated functions have all undergone extensive manual testing. JS hint was used to help validate the Javascript code.
Django DEBUG
has helped identity logic errors when trying to get Python3
application, sqlite3
(development db) and postgreQSL
(production db) to all correctly interact. For your information, sqlite3
serves to provide backup to postgreSQL
in the event postgreSQL
is not available.
Manual testing has been based upon a walkthrough of key process steps the User will experience. This is coupled with process alignment to CRUD (Create, Read, Update & Delete).
All possible user actions were mimicked to put the tester in the shoes of the user.
-
CRUD Operations tested = READ
-
To view the existence of Re-Boot app in sqlite3 database, run the following command in the ubuntu bash console:
sqlite3 db.sqlite3
followed by sqlite> .databases
Result = main: /home/ubuntu/environment/reboot-pbf/db.sqlite3
-
Django
DEBUG = True
to ensure real time debugging of code -
To ensure project development code would successfully render in the web browser, run the following command:
python3 manage.py runserver $IP:$PORT
Result:
Performing system checks...
System check identified no issues (0 silenced).
February 19, 2020 - 10:14:00
Django version 3.0.2, using settings 'reboot.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.
To run the existing Python tests:
-
Activate your virtual environment
-
Enter the following command in the
ubuntu bash
terminal:python manage.py test
-
To run the tests within a specific app only, then key the following command in the
ubuntu bash
terminal:python manage.py test <app name here>
. Results of test(s) will show in the console
Important: The python
component assumes you are working with a windows operating system. Your python
command may differ, such as python3
or py
Javascript was not used in abundance for this project, as the major burden of coding fell to python. All incidences of Javascript code was tested through use of JS Hint. All code tested appears in Code Validation report.
Coverage.py was used to provide alerts on tests that were complete and tests that remained oustanding. It's not always possible to achieve 100% success, yet Re-Boot excellent performance is supported by a good range of tests per app.
How to run coverage
-
Activate your virtual environment
-
In the terminal enter the following command:
coverage html
-
htmlcov directory is automatically created in the root directory. Proceed to open this directory
-
Find index.html file and click open
-
Run index.html file in the browser to see the summary output. View can be modified by using the search filter i.e. key
accounts
to narrow search result to all files sitting in theaccounts
app
-
Travis was used throughout the unit testing of this project to provide continuous integration analysis with the deployed site
-
A
markdown
format helps create a url link that you need to copy and paste into theREADME.md
document. The link injects a real time status of all intregation tests run by Travis -
Create a new
.travis.yml
file in the root directory
For Django, the following code is required to help produce a Travis status visual display in README.md
document
language: python
python:
- "3.6.7"
install: "pip install -r requirements.txt"
script:
- SECRET_KEY="Whatever" ./manage.py test
- CRUD Operations tested = CREATE, READ & UPDATE
- Key url address in web browser
- Click on 'register' in the navbar
- Click in 'username' field
- Key in username (max character length = 150)
- If empty fields exist when clicking 'Register', then user will get error message with request to complete missing data
- If username already taken by another user, then warning message appears to invite user for a different username
- Click in 'email address' field
- Key in email address (no limit on character length)
- If empty fields exist when clicking 'Register', then user will get error message with request to complete missing data
- If email address already taken by another user, then warning message appears to invite user for a different email address
- Once all information has been successfully validated then user to click 'Register' button
- If user has already registered then they can click on a link to move to login screen
- CRUD Operations tested = CREATE, READ & UPDATE
- Click in 'password' field (placeholder message support user with data requirements)
- If empty fields exist when clicking 'Register', then user will get error message with request to complete missing data
- If password already taken by another user, then warning message appears to invite user for a different password
- User is then invited to re-key their password (placeholder message support user with data requirements)
- If empty fields exist when clicking 'Register', then user will get error message with request to complete missing data
- If re-keyed password does not match, then warning message appears to invite user re-key password to ensure a match
- Click 'Register' button to complete the registration process
- If user has already registered then they can click on a link to move to login screen
- CRUD Operations tested = CREATE, READ & UPDATE
- Key url address in web browser
- Click on 'Login' in the navbar
- If user has selected login by mistake, they can click on a link to move to register screen
- Click in 'username' field (placeholder text helps the user with data entry)
- Key in username
- If empty fields exist when clicking 'Log in', then user will get error message with request to complete missing data
- If username does not match registered user details, then warning message appears to invite user for a different username
- CRUD Operations tested = CREATE, READ & UPDATE
- If user has selected login by mistake, they can click on a link to move to register screen
- Click in 'Password' field (placeholder text helps the user with data entry)
- Key in password
- If empty fields exist when clicking 'Log in', then user will get error message with request to complete missing data
- If password does not match registered user details, then warning message appears to invite user for a different password
- Click 'Log in' button to complete the authentication process
- CRUD Operations tested = CREATE, READ & UPDATE
- User can access password reset function either by login page or MyReBoot, if the user is already registered
- Click either a reset link or button to move to dedicated password reset screen
- User to enter a valid email address
- CRUD Operations tested = CREATE, READ & UPDATE
- Confirmation message to user stating an email will be sent direct to their specified email address with guidance on securely resetting their passowrd
- CRUD Operations tested = CREATE, READ & UPDATE
- Upon completion of the password reset form, the user should view their emai inbox. Also check their spam folder too
- Email from Re-Boot will provide a link
- User to click the link to move to a secure environment for their password reset
- CRUD Operations tested = CREATE, READ & UPDATE
- User is invited to create a new password and then re-key the same password for security purposes
- Click in 'password' field (placeholder message support user with data requirements)
- If empty fields exist when clicking 'Change my password', then user will get error message with request to complete missing data
- If password already taken by another user, then warning message appears to invite user for a different password
- User is then invited to re-key their password (placeholder message support user with data requirements)
- If empty fields exist when clicking 'Change my password', then user will get error message with request to complete missing data
- If re-keyed password does not match, then warning message appears to invite user re-key password to ensure a match
- Click 'Complete my password' button to complete the registration process
- CRUD Operations tested = CREATE, READ & UPDATE
- User will receive confirmation message that their password has successfully reset
- Click 'Log in' button
- User to initiate login process with new password
- CRUD Operations tested = CREATE, READ & UPDATE
- User to click on 'BootShop' in navbar
- All Users should see 2 different options
- Juniors
- Adults
- Product summary cards appear with following content:
- Customer category: 'Juniors' or 'Adults'
- Product image
- Product make (brand)
- Product size
- Product price (£5.00 for juniors & £10.00 for adults)
- Click on 'Read More' button, if further product information is required
- Screen view is the same for both logged in and logged out users, at this stage
Observation: A tablet device portrait view appears to have pushed all product images outside of their respective recipe card space. As a fix, the number of cards in a row has been reduced from 4 to 3 by adjusting bootstrap grid from row-cols-md-4
to row-cols-md-3
.
- CRUD Operations tested = CREATE, READ, UPDATE & DELETE
- All Users will be presented with an individual product card containing the following information:
- Customer category: 'Juniors' or 'Adults'
- Product image
- Product make (brand)
- Product size
- Product colour
- Product studs (Screw in or moulded)
- Product quality (Brand New, Almost New and Used Boots)
- Product price
- Rugby Icon graphic
Observation: Both product and rugby icon images were too large and disproportionate to remainder of recipe detail view. Fix created to set height and width of images to 200px (12.5rem)
2. Should the rugby boot product information be readily accepted by the unregistered user, then they have the chance to foramlly register to proceed with a purchase of their chosen product
-
A logged in user can follow next steps, as follows:
- Confirm quantity of product being purchased. As each donated product is unique, then the user needs to ensure that
1
is present - Click on 'Add To Cart'
- Cart contents page reveals products in scope for purchase
- Product card now shows a delete button, in case the user no longer wished to proceed with purchase
- User to key
0
in quantity input box and click 'Delete' - If product deleted, then the shopping cart will reduce by -1, but not less than zero
- User to key
- If more than one product is held within the cart, a running total appears to help the user understand total cost
- Click 'Checkout' button to proceed to confirm users payment details
- Confirm quantity of product being purchased. As each donated product is unique, then the user needs to ensure that
-
Logged in users will get a summary view of their chosen product in the checkout page, buthe delete button has now disappeared. If the user is still unsure on their purchase they can click on the browser back tab to the cart content page to delete their product entry
-
Payment details in the checkout page appear under 2 sections. All fields are required to be completed:
- Personal Information
- Full name
- Phone number
- Country
- Postcode
- Town or city
- Street Address1
- Street Address2
- County
- Card Information
- Credit card number
- Security code (CVV)
- Month (card expiry)
- Year (card expiry)
- Personal Information
-
Once all system validation check on data have been coompleted, then user to click 'Submit Payment'
Observation: For development purposes, Stripe recognises card number 4242424242424242 and a security code of 111. User need s to make sure the Card expiry month and year are current and not historical, as the latter will realise an error message
- Successful purchase will realise a
You have successfully paid
message and user will then be routed to the home page
- CRUD Operations tested = CREATE, READ & UPDATE
- Go to home page an sign in
- Click on 'MyReBoot' in the navbar
- Read MyReBoot dashboard and click 'Donate' button
- Boot donation details are captured in a form using the following required data fields:
- Make (Boot brand)
- Category (Junior or Adult category to support the BootShop choices)
- Customer (Junior or Adult for product card ID)
- Size (Boot size)
- Colour (Boot colour, supported by a boot image)
- Studs (Screw in or moulded)
- Quality (Brand New, Almost New & Used Boots)
- Price (£5.00 for juniors & £10.00 for adults)
- Image (clear picture of donated boots)
- Click on 'Submit' button
- Confirmation message appears for the user to announce the donated boots have been added to the BootShop
- CRUD Operations tested = CREATE, READ, UPDATE & DELETE
- Hover on 'Re-Boot' navbar brand for the cursor to change to a pointer design
- Click on ‘Re-Boot’ navbar brand from anywhere within the website
- User will be routed back to home page
Home
selector provides the same functionality as the navbar brand. Both will return the user to the home page from anywhere within the Re-Boot appAbout
selector provides a navbar dropdown function for the following:Re-Boot explained
- provides a detailed insight and purpose on the Re-Boot appJuniors
- for pricing and boot size conversion dataAdults
- for pricing and boot size conversion dataBoot Quality
- summary narrative on 3 different thresholds of permitted donated rugby boot quality- Click 'View FAQ's' for more information on accepted thresholds of donated boot quality
BootShop
selector provides a navbar dropdown function for the following:- 'Juniors` collection of donated rugby boot products
Adults
collection of donated rugby boot products
Help
selector provides a navbar dropdown function for the following:FAQ's
series of questions and answers targeted to help users understanding of Re-Boot- Click 'Get in touch' button for user to raise a question with Re-Boot, if not covered in FAQ's page
Contact Us
form created to enable user to send message direct to Re-Boot. Other means of connecting with Re-Boot are also available- Click 'Submit Enquiry' for user to send email diret to Re-Boot
Search
user can enter a partial or whole product brand name. Results are sourced from current Bootshop stockMyReBoot
logged in users are personally greeted. Dashboard design allows the user to donate unwnated rugby boots, create a blog post message and reset their passwordLogout
logged in users click on selector narrative to formally log out of Re-BootRegister
all users can click on selector narrative to commence the Re-Boot registration processLogin
all users can click on selector narrative to commence the Re-Boot login processCart
icon for a shopping cart positioned to far right of navbar. A product counter appears to top-right of cart when user starts adding products to the cart. Confirmed product purchases are removed from the cartCart Pop-Over
is accessed by clicking on thecart icon
, offering User ID (Username), current GBP value of cart content and button to view cart content detail.
Observations: The presence of all navbar options clearly takes up considerable estate space. Therefore, the navbar does collapse in mobile view only with a hamburger icon on show. Full navbar menu appears when icon is clicked. Empty cart creeps slightly above the line of cart items, but then returns to a linear position, once cart is filled with product.
- CRUD Operations tested = READ
- Go to home page
- Reasons to be cheerful are x4 full responsive paragraphs
- Click on 'Learn More' button
- User is routed to
Re-Boot Explained
- CRUD Operations tested = READ
- Go to home page
- x4 steps for user to follow
- Step 1 - Browse Stock. Links to both junior and adult boot products
- Step 2 - Register & Login. Link to registration page
- Step 3 - Donate. Function is accessed by logged in users via their MyReBoot page
- Step 4 - Purchase. Function is accessed by logged in users via the BootShop
- CRUD Operations tested = READ
- Go to home page
- 3 product cards on show that includes Boot image, quality status, boot make, size, colour, stud type and price
- Click on 'See More Juniors Boots' or 'See More Adults Boots' buttons to access the BootShop
- CRUD Operations tested = CREATE, READ & UPDATE
- Go to home page an sign in
- Click on 'MyReBoot' in the navbar
- Read MyReBoot dashboard and click 'Blog' button
- Create a new blog post by completing data fields:
- Title
- Author
- Content (Blog detail)
- Image. User can source from local machine (not mandatory)
- Tag (meta)
- Published date. Auto-populated at the time of creating the Blog post
- Click 'Save' button
- Confirmed blog post that includes title, author, content, image, tag, published date and views
- User has option to 'Edit Post' with abutton click or return 'Back to Blog' with a button click
- 'Edit Post' allows the user to make adjustments to their orignal blog post. View number will increase by 1 once edit has been saved
- 'Back to Blog' will route the user to the central blog forum where all blog posts are on show
- CRUD Operations tested = READ
- Go to footer section
- Click social media icons (LinkedIn & Facebook)
- All Users are passed through to website authors’ actual live pages
- CRUD Operations tested = READ
- Go to footer section
- Click on 'For Juniors'
- User is routed to all junior products that appear in current BootShop stock
- Click on 'For Adults'
- User is routed to all adult products that appear in current BootShop stock
- CRUD Operations tested = READ
- Go to footer section
- Click on 'About'
- User is routed to 'Re-Boot Explained' that appears as a dropdown feature in the navbar
- Click on 'Contact'
- User is routed to 'Contact Us' that appears as a dropdown feature under 'Help'
- Click on 'Cookies'
- User is routed to a dedicated page on cookies and how they are used
- Click on 'FAQ's'
- User is routed to 'FAQ's' that appears as a dropdown feature under 'Help'
- Click on 'Privacy Policy'
- User is routed to a dedicated page on site privacy and how Re-Boot serves to protect their registered members
- Click on 'Terms & Conditions'
- User is routed to a dedicated page on Re-Boots' rules for use of their website
Code | Url Link | App / Directory | Filename | Outcome | Comments |
---|---|---|---|---|---|
HTML5 | https://validator.w3.org | Accounts | login.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | password_reset_complete.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | password_reset_confirm.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | password_reset_done.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | password_reset_email.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | password_reset_form.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | profile.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Accounts | registration.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Blog | blogpostform.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Blog | blogposts.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Blog | postdetail.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Cart | cart.html | Pass | p stray end tag reported,but all ok. Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Checkout | checkout.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | adults.html | Pass | Stray end tag reported,but all ok.Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | bootquality.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | contact.html | Pass | Legend attribute replaced by h3. Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | cookie.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | explained.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | faqs.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | index.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | juniors.html | Pass | Stray end tag reported,but all ok.Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | privacy.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Home | terms.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Products | create_product.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Products | productdetail.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Products | products.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Templates | base.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Templates > Peripheral | navbar.html | Pass | Jinja templating language used = ok |
HTML5 | https://validator.w3.org | Templates > Peripheral | footer.html | Pass | Jinja templating language used = ok |
Code | Url Link | App / Directory | Filename | Outcome | Comments |
---|---|---|---|---|---|
Python3 | http://pep8online.com | Accounts | test_app.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | test_forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | test_views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | admin.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | apps.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | backends.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | urls.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | urls_reset.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Accounts | views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | test_app.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | test_forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | test_models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | test_views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | admin.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | apps.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | urls.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Blog | views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | test_views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | admin.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | apps.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | contexts.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | urls.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Cart | views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | test_forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | test_models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | test_views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | admin.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | apps.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | urls.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Checkout | views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | test_views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | admin.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | apps.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | contexts.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | urls.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Home | views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | test_forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | test_models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | test_views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | admin.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | apps.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | forms.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | models.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | urls.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Products | views.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Root Directory | custom_storages.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Root Directory | env.py | Pass | All convention errors corrected = ok |
Python3 | http://pep8online.com | Root Directory | manage.py | Pass | All convention errors corrected = ok |
Code | Url Link | App / Directory | Filename | Outcome | Comments |
---|---|---|---|---|---|
CSS3 | https://jigsaw.w3.org/ | Static | style.css | Pass | W3C CSS Validator results - CSS level 3 + SVG - negative padding -1rem triggered a warning message = ok |
Javascript | https://jshint.com/ | Static | stripe.js | Pass | No errors found |
Javascript | https://jshint.com/ | Checkout | checkout.html | Pass | Code recognised by Stripe.com = ok |
Javascript | https://jshint.com/ | Static | main.js | Pass | No errors found in trading year function |
Javascript | https://jshint.com/ | Static | main.js | Pass | No errors found in cart pop over function |
Chrome DevTools together with a selection of mobile, table and desktop devices were relied upon through the entire software development cycle. A key objective was to test both the rendering and responsiveness of the software application against multiple screen resolutions and web browser platforms. Any bugs identified were debugged in real time with special observations noted in a testing matrix control document.
The Re-Boot application has been tested by students from the Slack community, together with friends and family members. Feedback on what worked well and what did not was recorded and suitable corrections to the code were keyed.
In the final analysis, this application can be passed as fully responsive across all devices that participated in testing.
The following browsers were used in testing the Re-Boot application. Internet Explorer was out of scope for testing due to obsolete capability
platform | version |
---|---|
Chrome | 80.0.3987.87 |
Edge | 44.18362.449.0 |
Firefox | 74.0.2 |
Safari | 12.4.5 |
Opera | 66.0.3515.72 |
- SweetAlert2 continually generates a warning message in the browser console. Unable to find a fix, however, the bug is not affecting the performance of the Re-Boot website
SweetAlert2: Unknown parameter "type"
-
Contact form email address relies upon the user adding their own email address. Once Re-Boot has their very own email, then the user can use that addess to ensure their message is received. The current contact form has been built with email sending capability, albeit the message will go direct to the users nominated email address.
-
Empty cart creeps slightly above the line of cart items, but then returns to a linear position, once cart is filled with product. UXD not adversely affected. This was fixed by splitting both shopping cart and product counter into separate list elements.