Icarus-drones

Icarus Drones

A comprehensive e-commerce platform for drone enthusiasts, offering advanced features like product customization, loyalty points, drone comparisons, messaging systems, and product management. Designed to cater to different user roles, including customers, staff, and superusers, Icarus Drones provides a seamless and engaging shopping experience.


Live Site

Explore the live version of the Icarus Drones project here:

Live Site

Visit Icarus Drones Live Site

Am I Responsive


Table of Contents

  1. Overview
  2. Features
  3. User Stories
  4. E-commerce Business Model
  5. UX Design
  6. Technologies Used
  7. Database Schema
  8. Social Media Mockup
  9. Testing
  10. SEO Keywords
  11. Deployment
  12. Credits

Overview

Icarus Drones is an innovative e-commerce platform offering 314 drone-related products, including customizable drones, accessories, and cameras. Designed to meet the needs of both drone enthusiasts and staff, the website features loyalty programs, messaging systems, and advanced product management tools. Customers can personalize drones, compare specifications, and manage their profiles, while staff can handle inquiries, repairs, and orders efficiently.

The platform’s purpose is to provide an intuitive and engaging shopping experience tailored to drone enthusiasts of all levels. It ensures seamless product management for staff while offering customers an extensive range of drone-related products and services. The platform is designed to cater to multiple target audiences, including:


Features

General Features

User Features

Staff Features

Superuser Features


User Stories

Customer User Stories

1. Register and Manage My Account **As a** shopper **I want to** register for an account, log in, and manage my profile **So that** I can track my orders and manage my details **Acceptance Criteria:** - Register for an account with email - Log in and out securely using credentials - Reset password securely if needed
2. Filter, Search, and Sort Drone Products **As a** shopper **I want to** filter, search, and sort drone products **So that** I can find products that meet my preferences **Acceptance Criteria:** - Filter products by categories (e.g., recreational, professional), price, specifications - Search for specific drone models or features - Sort products based on price, popularity, or new arrivals
3. Secure Payment and Checkout **As a** site user **I want to** checkout and complete my purchase **So that** I can finalize my order securely **Acceptance Criteria:** - Securely input payment details via Stripe during checkout - Verify order details (items, total price, shipping) before payment - Receive confirmation email with order details
4. View Product Reviews **As a** site user **I want to** view customer reviews and ratings on product pages **So that** I can make informed decisions before purchasing **Acceptance Criteria:** - View list of customer reviews and ratings on each product page - Sort reviews by rating - See average rating for a product
5. Submit Product Reviews **As a** shopper **I want to** submit reviews for purchased products **So that** I can share my feedback and help other customers make informed decisions **Acceptance Criteria:** - Write review and give rating for purchased products - See reviews from other customers on product detail page - Filter ratings
6. Add, Remove, and Update Items in Shopping Bag **As a** shopper **I want to** manage the items in my shopping bag **So that** I can adjust my purchase before checking out **Acceptance Criteria:** - Add items from product detail page - Remove items or update quantity in shopping bag - See total price, including taxes and shipping, update as modifications are made
7. View Past Orders and Payment Statuses **As a** shopper **I want to** view my past orders and payment statuses **So that** I can keep track of my purchases and payment outcomes **Acceptance Criteria:** - View details of past orders (product names, quantities, loyalty points, amounts) - Check payment status of past orders - Access order history at any time from account
8. Explore Product Categories **As a** site user **I want to** search and filter products **So that** I can easily find drones that fit my needs **Acceptance Criteria:** - Browse products by categories or keywords - Filter results by specifications, price, or type - See product information, descriptions, specifications, and reviews
9. View Drone Products and Promotions **As a** shopper **I want to** view a list of drone products **So that** I can select ones I'm interested in purchasing **Acceptance Criteria:** - Browse products categorized by type - View promotional banners highlighting sales - Navigate between sections including bundles and deals
10. Explore Drone Products and Business Information **As a** site user **I want to** view general information about products and business **So that** I can understand what the site offers **Acceptance Criteria:** - Explore business information and drone categories - View featured and promoted products on homepage - Navigate between categories, promotions, and info pages
11. Manage Shopping Bag **As a** site user **I want to** review and update items in my shopping bag **So that** I can ensure my order is accurate **Acceptance Criteria:** - View shopping bag contents anytime - Update quantities or remove items - See total price including loyalty points and shipping fees
12. Custom Drone Configuration **As a** customer **I want to** customize my drone's color and add attachments **So that** I can personalize my drone to match my preferences **Acceptance Criteria:** *Color Customization* - Select from 9 different color options - See dynamic image updates reflecting selected color - View color selection in toast messages - Color choice persists in shopping bag - Current selection clearly visible during customization *Attachment Selection* - View available attachments with prices - Add/remove multiple attachments - Price updates in bag with attachments - Each attachment appears in toast message and cart
13. Customer Order Issue Reporting **As a** customer **I want to** report issues with my orders **So that** I can get help resolving problems with purchases **Acceptance Criteria:** *Issue Reporting* - Access order history in profile - Select specific orders to report issues - Choose from predefined issue categories - Select "Other" category if needed - Provide detailed description *Communication Flow* - Receive email confirmation when submitted - Get email notifications for staff responses - View full message history - Respond directly to staff messages - Track issue status (resolved/in progress)
14. User Profile Management **As a** customer **I want to** manage my profile and account settings **So that** I can maintain my information and preferences **Acceptance Criteria:** *Profile Information* - View/update personal information - Add/edit delivery information - Save delivery details for future - Receive success notifications *Account Deletion* - Access deletion option - See warning about losing points - Confirm deletion intention - Receive confirmation email
15. Wishlist Functionality **As a** customer **I want to** manage my wishlist through a heart icon **So that** I can save products for later **Acceptance Criteria:** *Visual Interaction* - Heart icon on product cards and detail pages - Empty/filled states show wishlist status - Dynamic color changes without refresh - Easily clickable on all devices *Wishlist Management* - Add/remove items via heart icon - View dedicated wishlist page - Add items to cart from wishlist - Toast messages confirm actions
16. Contact Us **As a** site user **I want to** access a contact page **So that** I can reach the business for support **Acceptance Criteria:** - View contact form - See business contact information - Receive submission confirmation
17. Loyalty Points System **As a** customer **I want to** earn and redeem loyalty points **So that** I can get discounts on purchases **Acceptance Criteria:** *Earning Points* - Earn points based on purchase value - View points on checkout page - Points automatically added to profile - See points in confirmation emails *Redeeming Points* - Redeem points during checkout - See available points balance - View discount calculations - Cannot exceed available points *Dynamic Updates* - Total updates with point redemption - Clear display of discounts - Final total shown before purchase
18. Drone Specification Comparison **As a** customer **I want to** compare drone specifications side by side **So that** I can make informed decisions before purchasing **Acceptance Criteria:** - Select up to 3 drones to compare - View drones side by side with specifications - Add/remove drones from comparison - Add compared drones to cart or wishlist - Automatically populated comparison data - Clear all option available - Access from listings and detail pages - Clear format highlighting key differences

Staff User Stories

19. Staff Message Management **As a** staff member **I want to** manage customer issues through a centralized system **So that** I can efficiently handle customer concerns **Acceptance Criteria:** *Message Organization* - View all customer messages in one system - Filter by category (repairs/contact/issues) - Sort by status (new/in progress/resolved) - Access full order details - View complete message history *Issue Management* - Respond to messages - Mark issues as "in progress" or "resolved" - Reopen resolved issues - Track customer history
20. Product Management **As a** staff member **I want to** manage products with Custom Drone Guidelines **So that** I can maintain accurate product catalog **Acceptance Criteria:** *Add Products* - Add products through frontend form - Complete required fields - Upload images - View Custom Drone Guidelines - Receive confirmation messages *Edit/Delete* - Edit existing products - Delete with confirmation - See immediate website updates - Access admin panel options
21. Staff Permission Management **As a** superuser **I want to** manage staff permissions and credentials **So that** I can control access levels and security **Acceptance Criteria:** - Add new staff credentials - Remove staff access - Modify permission levels - Assign specific permissions for: - Message management - Product management - Order management - Customer service - Immediate permission updates

E-commerce Business Model

Business Model Overview

Icarus Drones operates as a B2C (Business to Consumer) e-commerce platform, specializing in the retail sale of drones and drone accessories to individual consumers. The platform targets both hobbyist drone enthusiasts and professional users looking for high-quality drone equipment.

Target Market

Core Business Strategy

Marketing Strategy

  1. Customer Retention
    • Loyalty points program rewarding repeat purchases
    • Regular email newsletters featuring new products and promotions
    • Personalized shopping experiences based on user preferences
  2. Customer Acquisition
    • SEO-optimized product descriptions and categories
    • Social media integration and sharing capabilities
    • Featured products and promotional banners
    • Easy-to-use product comparison tools
  3. Value Proposition
    • Unique drone customization options
    • Competitive pricing with loyalty rewards
    • Expert product support and advice
    • Comprehensive product specifications and comparisons
    • Secure and convenient shopping experience

Revenue Streams


UX Design

The design process of Icarus Drones followed a structured approach incorporating wireframes, mockups, and usability testing. Below are key design elements:

Wireframes and Mockups

Implementation of UX Design Principles

Wireframes

Wireframe - Customise drone Wireframe - Homepage Wireframe - Product Page (Unregistered user) Wireframe - Drone repair request Wireframe - Product management Wireframe - Manage issues - Card View Wireframe -  Manage issues - Table View Wireframe - Home page - visible dropdown menu Wireframe - Products page Wireframe - Contact us Wireframe - Manage staff Wireframe - Profile page Wireframe - Wishlist Wireframe - Issues & Messages - Message tab Wireframe - Issues & Messages - Unresolved issues tab Wireframe - Issues & Messages - Resolved issues tab Wireframe - Issues & Messages - Repair requests tab Wireframe - Issues & Messages - Contact tab Wireframe - Compare drones Wireframe Product detail page

Technologies Used


Database Schema

The following diagram represents the database schema of the application:

Database Schema


Social Media Mockup

Facebook Mockup

The image below showcases the design and layout of our Facebook promotional material for Icarus Drones. This mockup highlights our branding and marketing strategy to attract drone enthusiasts on social media platforms.

Mock Facebook


Manual Testing

Feature Test Case Expected Outcome Actual Outcome Pass/Fail
User Registration        
  Enter valid registration details Account created, confirmation email received As expected Pass
  Enter invalid email format Error message displayed As expected Pass
  Enter mismatched passwords Error message displayed As expected Pass
  Submit empty form Form validation errors shown As expected Pass
User Login        
  Enter valid credentials Successfully logged in, redirected to home As expected Pass
  Enter invalid password Error message displayed As expected Pass
  Enter non-existent email Error message displayed As expected Pass
User Logout        
  Click logout button User logged out, session ended As expected Pass
Navigation & Browsing        
  Click ‘Shop Now’ button Redirected to products page As expected Pass
  Use search function Products matching keywords shown As expected Pass
  Click ‘All Products’ Complete product list displayed As expected Pass
Product Filtering/Sorting        
  Filter to show 20 products 20 products displayed As expected Pass
  Filter to show 50 products 50 products displayed As expected Pass
  Filter to show 100 products 100 products displayed As expected Pass
  Filter to show all products All products displayed As expected Pass
  Sort price high to low Products ordered by descending price As expected Pass
  Sort price low to high Products ordered by ascending price As expected Pass
  Sort rating high to low Products ordered by descending rating As expected Pass
  Sort rating low to high Products ordered by ascending rating As expected Pass
  Sort name A-Z Products ordered alphabetically As expected Pass
  Sort name Z-A Products ordered reverse alphabetically As expected Pass
  Sort categories A-Z Categories ordered alphabetically As expected Pass
  Sort categories Z-A Categories ordered reverse alphabetically As expected Pass
  Use pagination Navigate through product pages As expected Pass
Product Purchase        
  Add item to cart Item added, toast notification shown As expected Pass
  Update quantity in cart Quantity and total updated As expected Pass
  Remove item from cart Item removed, total updated As expected Pass
  Complete checkout process Order confirmed, email received As expected Pass
Loyalty Points        
  Earn points on purchase Points added to account As expected Pass
  Redeem points at checkout Discount applied to total As expected Pass
  View points balance Accurate points displayed in profile As expected Pass
  Attempt to use more points than available Error message displayed As expected Pass
Custom Drone Configuration        
  Select drone color Image updates to match selection As expected Pass
  Add attachments Price updates with selections As expected Pass
  Remove attachments Price updates correctly As expected Pass
  Select different colors Drone image updates dynamically As expected Pass
  Add attachments Price updates accordingly As expected Pass
Profile Management        
  Update personal information Information saved successfully As expected Pass
  Add delivery address Address saved to profile As expected Pass
  Delete saved address Address removed from profile As expected Pass
  View order history Complete order information displayed As expected Pass
  Report specific order issue Issue reported successfully As expected Pass
  Delete account Warning shown about loyalty points As expected Pass
  Confirm account deletion Account successfully deleted As expected Pass
Wishlist        
  Add item to wishlist Item added, heart icon filled As expected Pass
  Remove from wishlist Item removed, heart icon empty As expected Pass
  Move item from wishlist to cart Item added to cart successfully As expected Pass
  Check wishlist status across pages Heart icon status consistent across all pages As expected Pass
Product Reviews        
  Submit product review Review posted, visible on product As expected Pass
  Rate product Rating added to product average As expected Pass
Order Management        
  View order history All past orders displayed As expected Pass
  View order details Correct order information shown As expected Pass
  Report order issue Issue submitted, confirmation received As expected Pass
Support Requests        
  Submit drone repair request Request sent, email confirmation received As expected Pass
  Submit with empty fields Form validation errors shown As expected Pass
  Submit with invalid email Email format error shown As expected Pass
  Submit contact request Request sent, email confirmation received As expected Pass
Toast Messages        
  Perform any interaction Relevant toast message displayed As expected Pass
Staff Features        
  Add new product Product added to database As expected Pass
  Edit product details Changes saved successfully As expected Pass
  Delete product Product removed from site As expected Pass
  Respond to customer message Response sent, status updated As expected Pass
  Toggle table/card view Display changes accordingly As expected Pass
  View order issues Listed oldest to newest As expected Pass
  Respond to order issue Response sent successfully As expected Pass
  Change issue status Status updates (in progress/resolved) As expected Pass
  View repair requests Access all repair requests As expected Pass
  Respond to repair request Response sent successfully As expected Pass
  Change repair status Status updates (in progress/resolved) As expected Pass
  View contact messages Access all contact messages As expected Pass
  Respond to contact Response sent successfully As expected Pass
Staff Permissions        
  Add staff permissions User granted staff access As expected Pass
  Remove staff credentials Staff access revoked As expected Pass
Search and Filter        
  Search by keyword Relevant results displayed As expected Pass
  Filter by category Correct products shown As expected Pass
  Sort by price Products ordered correctly As expected Pass
Responsive Design        
  View on mobile device Layout adjusts appropriately As expected Pass
  View on tablet Layout adjusts appropriately As expected Pass
  View on desktop Layout displays correctly As expected Pass

SEO Keywords

Short-Tail Keywords


Long-Tail Keywords

Customizable Drones

Drone Accessories

Loyalty Program

Drone Comparisons

Customer Support

Target Audience

User Experience

Promotional and Engagement Keywords


Deployment

The Icarus Drones site was deployed to Heroku following these steps:

  1. Create a New App on Heroku
    • Log in to your Heroku account and click “Create new app.”
    • Enter your desired app name and select the appropriate region.
    • Click “Create app.”
  2. Configure the App Settings
    • Navigate to the app dashboard and click “Settings.”
    • Add the required Config Vars for the application.
  3. Deploy the Application
    • Enable automatic deploys by clicking “Enable Automatic Deploys.”
    • Click “Deploy Branch” to deploy your app manually.
    • Once the build is complete and you see “Your app was successfully deployed,” click “View” to access the live application.

Credits:

Some of the design features were inspired by Boutique Ado. I used shutterstock for photos