0% found this document useful (0 votes)
5 views34 pages

Website Structureand Specifications 1

The document outlines the website structure and specifications for a photo gallery platform, detailing the recommended tools and technologies, including AWS services for storage, processing, and security. It includes a comprehensive list of project deliverables such as a fully functional system, source code, documentation, training, warranty, and maintenance contracts. Additionally, it describes the website's layout, navigation, and key functionalities for users, photographers, and admins.

Uploaded by

tecnodevarg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views34 pages

Website Structureand Specifications 1

The document outlines the website structure and specifications for a photo gallery platform, detailing the recommended tools and technologies, including AWS services for storage, processing, and security. It includes a comprehensive list of project deliverables such as a fully functional system, source code, documentation, training, warranty, and maintenance contracts. Additionally, it describes the website's layout, navigation, and key functionalities for users, photographers, and admins.

Uploaded by

tecnodevarg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Website Structure and Specifications

EXAMPLES of similar webpages:

https://photohawk.com/es/find-your-photos
https://www.lumepic.com/events

Tools and Technologies for the Project


Here is the recommended stack for your project, including AWS services, frontend/backend
technologies, and additional tools for scalability and security.

AWS Services
1. Amazon S3
○ Purpose: Storage for photos and static content (e.g., high-resolution images with
watermarks).
○ Features:
■ Secure access with signed URLs.
■ Scalable and cost-effective storage.
2. Amazon Rekognition
○ Purpose: Photo analysis for facial and text (bib number) recognition.
○ Features:
■ Automatic tagging of photos by face and race number.
■ Optimized to avoid reprocessing analyzed photos.
3. Amazon Cognito
○ Purpose: Authentication and user management for customers, photographers, and
admins.
○ Features:
■ Multi-Factor Authentication (MFA).
■ Social logins (optional).
■ Role-Based Access Control (RBAC).
4. AWS Lambda
○ Purpose: Serverless functions for tasks like generating watermarked previews or
processing uploaded images.
○ Features:
■ On-demand processing.
■ Automatically scales with traffic.
5. Amazon CloudFront
○ Purpose: Deliver images and static content quickly through a Content Delivery Network
(CDN).
○ Features:
■ Reduces load times globally.
6. Amazon SES (Simple Email Service)
○ Purpose: Automated email delivery for:
■ Purchase confirmations.
■ Download links with expiration details.
■ Notifications for event updates.
○ Features:
■ Supports bulk email campaigns.
■ Configurable templates for branded emails.
7. Amazon DynamoDB (or RDS)
○ Purpose: Database for event, photographer, customer, and photo metadata.
○ Features:
■ DynamoDB: NoSQL, ideal for fast searches.
■ RDS: SQL, suitable for complex relational queries.
8. AWS WAF (Web Application Firewall)
○ Purpose: Protect against malicious attacks like SQL injection or XSS.
○ Features:
■ Configurable to block suspicious traffic.
9. AWS CloudWatch
○ Purpose: Monitor application logs and system performance.
○ Features:
■ Real-time alerts for errors and issues.

Frontend Technologies
1. React.js
○ Purpose: Build an interactive and responsive frontend for customers, photographers,
and admins.
○ Features:
■ Component-based architecture for reusable code.
■ Efficient state management using Redux or Context API.
2. Tailwind CSS or Material-UI
○ Purpose: Styling for the website's design.
○ Features:
■ Highly customizable and responsive styles.
■ Integrates well with React.

Backend Technologies
1. Node.js with Express.js
○ Purpose: Develop the server-side logic and API.
○ Features:
■ Handles multiple requests efficiently.
■ Integrates seamlessly with AWS SDK for S3, Rekognition, and SES.
2. Python (Optional)
○ Purpose: For specialized tasks like AWS Rekognition integration or advanced image
processing.
○ Key Libraries: boto3 for AWS SDK.

Payment Processing
1. Stripe
○ Purpose: Secure and automated payment processing.
○ Features:
■ Revenue splitting between photographers and the platform.
■ Multiple payment methods (credit cards, Apple Pay, Google Pay).

Development Tools
1. GitHub or GitLab
○ Purpose: Version control and collaboration among developers.
○ Features:
■ Private repositories for secure code storage.
■ Continuous Integration/Continuous Deployment (CI/CD).
2. Postman
○ Purpose: Test and debug API endpoints.

Security Features
1. SSL/TLS with AWS Certificate Manager
○ Purpose: Secure communication between users and the platform.
2. Data Encryption
○ Encrypt sensitive data at rest (e.g., passwords, Stripe keys) using AES-256.
3. GDPR/CCPA Compliance
○ Purpose: Ensure privacy policies are clear and compliant with data regulations.

Scalability Tools
1. Auto-Scaling and Load Balancing
○ Use AWS Elastic Load Balancing and Auto Scaling for handling traffic spikes.
2. Image Optimization
○ Compress images during upload without quality loss for faster load times.

Project Deliverables
Here is the updated list of deliverables, including system requirements, documentation, and post-launch
support:
1. Fully Functional System
● Operational Platform:
○ A fully functional platform hosted on AWS, accessible via the specified domain.
○ All pages, features (search, payments, downloads), and user roles (customers,
photographers, admins) must be implemented and tested.
● Correct Integrations:
○ Stripe: Secure payments and automatic revenue splitting.
○ AWS Rekognition: Facial and text (bib number) recognition functioning seamlessly.
○ AWS SES: Automated emails configured for confirmations and updates.
○ AWS S3: Secure storage for photos with signed URL access.

2. Source Code
● Repository in GitHub or GitLab:
○ Full source code with proper version control.
○ Deployment instructions for setting up the platform from scratch.
● Code Organization:
○ Clear comments and a structured codebase to facilitate future modifications.
● Dependency Documentation:
○ A complete list of all dependencies and libraries used (e.g., package.json for Node.js,
requirements.txt for Python).

3. Documentation
● Admin Manual:
○ A detailed document explaining:
■ How to create and manage events.
■ Modifying pages and menus through the admin panel.
■ Managing photographer commissions and viewing reports.
■ Resolving common issues (e.g., re-sending download links, handling photo
upload errors).
● Technical Guide for Developers:
○ AWS Configuration:
■ Details for S3, Lambda, DynamoDB, Rekognition, and SES.
■ Security policies and permissions.
○ Steps for deploying updates on the platform (CI/CD procedures).
○ Local setup instructions for testing or further development.
● User Guide:
○ Simple manuals for customers and photographers:
■ Customers: How to search and purchase photos.
■ Photographers: How to upload and manage events and photos.
4. Training
● Training Session:
○ A virtual (recorded) session explaining:
■ How the system works.
■ How to use the admin panel.
■ Procedures for resolving common problems.
● Post-Delivery Support:
○ A 3-month support period for addressing additional questions or concerns, particularly
during the onboarding of photographers.

5. Warranty
● Warranty Period:
○ 3 months after delivery to address:
■ Any bugs or errors identified.
■ Ensuring all defined functionalities work as expected.
● Warranty Conditions:
○ Does not cover issues caused by external modifications not performed by the freelancer.

6. Annual Maintenance Contract (AMC) Clauses


● Option to establish an Annual Maintenance Contract (AMC) for ongoing support, updates, and
feature additions.
● AMC Scope:
○ Addressing bugs and performance issues.
○ Adding new features or refining existing ones as per future requirements.
○ Conducting periodic system health checks.

Header
The header will remain visible on all pages for easy navigation and include the following elements:

1. Logo (left side):


○ Clickable, redirects to the homepage.
2. Main Menu (center):
○ Links to primary sections of the website.
3. Quick Access (right side):
○ Login / My Account.
○ Cart:
■ Includes an icon showing the number of items currently in the cart.
○ Language Switcher:
■ Dropdown for language selection (e.g., English, Spanish).
Main Menu (Improved Structure)
1. Home

● Redirects to the homepage with all galleries and search features.

2. Photo Galleries

● Displays all events, categorized by:


○ Recent events.
○ Upcoming events.
○ Country

3. Instructions

● Step-by-step guidance on:


○ Searching by number or selfie.
○ Adding photos to the cart.
○ Completing purchases.

4. About Us

● Photographers: Introduces the professionals capturing the events.


● Cooperative: Explains how the cooperative operates and supports photographers.
● Our Values: Transparency, fairness, and community impact.
● Contact Us: Form and contact details (email, WhatsApp, phone).

5. What You Pay

● A detailed breakdown of how payments are distributed:


○ Photographers’ share.
○ Operational costs.
○ Platform revenue.

6. Join as a Photographer

● How It Works: Explains the onboarding process.


● Costs: Fees or requirements for joining.
● Apply Now: Form to submit applications and portfolios.
● Success Stories: Testimonials from existing photographers.

7. FAQ / Help

● Common user questions and troubleshooting tips:


○ How to find photos.
○ Payment methods.
○ Download link expiration.
Footer
The footer is divided into three columns for clarity and accessibility.

1. Column 1: Legal
○ Terms and Conditions.
○ Warranty Policy.
○ Privacy Policy.
2. Column 2: Contact
○ Email address.
○ WhatsApp (direct link).
○ Links to social media (Facebook, Instagram, etc.).
○ Newsletter Signup
3. Column 3: Payment Options
○ Stripe, PayPal, and major credit cards.
○ Recognizable payment logos/icons.
Homepage
Description:

The homepage serves as the primary entry point, showcasing all available photo galleries. Recent
events are displayed at the top, followed by a section for upcoming events. A search bar allows users
to quickly find galleries. The slogan "Economic Justice" is prominently displayed above the galleries.
The top menu provides easy access to "My Account," the cart, and a language switcher.

Functionalities:

1. Dynamic Galleries:
○ Automatically updates to display the most recent galleries first. Divided for country
○ Includes a dedicated section for upcoming events with basic details (e.g., event name,
date).
2. Smart Search Bar:
○ Allows users to search galleries by:
■ Event name.
■ Date.
■ Location.
○ Real-time autocomplete suggestions.
3. Editable Slogan:
○ Option to update the slogan text ("Economic Justice") via the admin panel.
4. Dynamic Menu:
○ Easily add, edit, or remove menu items from the admin panel.
5. Quick Access Links:
○ Visible buttons in the top-right corner for:
■ Login / My Account.
■ Cart.
■ Language switcher (e.g., English/Spanish).
6. SEO Optimization:
○ Automatically generates SEO-friendly titles and meta descriptions for the homepage.
Photo Galleries Page
Description:

This page allows users to browse photos by event. Each event includes an event image at the top,
followed by an intelligent search option where users can find their photos using their number or a selfie.
Below the search options, the gallery displays all event photos in low resolution with watermarks,
enabling manual browsing.

Functionalities:

1. Event Image Display:


○ Highlight the event with a banner or thumbnail at the top of the page.
○ The image should be dynamically pulled from the event metadata in the system.
2. Smart Search Options:
○ Search by Number:
Input field where users can enter their race or bib number to locate their photos.
○ Search by Selfie:
Option to upload or take a selfie directly, leveraging AWS Rekognition for facial
recognition to match their images in the gallery.
○ Search Button:
Trigger the search process, displaying matching results in a separate section below the
search bar.
3. Instructions Button:
○ A clearly visible button labeled "Instructions":
■ Redirects users to the Instructions for Finding Your Photos page (new menu
item).
■ The page will include step-by-step guidance on how to search using numbers or
selfies.
4. Photo Gallery Display:
○ Gallery View:
■ Displays all event photos in a grid format.
■ Photos are shown in low resolution with a watermark (the watermark can be
modified in the admin).
○ Pagination or Lazy Loading:
■ Load photos in batches to ensure fast page performance.
○ Manual Browsing:
Users can scroll through all images and manually add selected photos to their cart.
5. Add to Cart Functionality:
○ Allow users to click on a photo and add it to their cart directly from the gallery.
○ Hovering over a photo shows a "View Details" or "Add to Cart" button.
6. Responsive Design:
○ Ensure the gallery is optimized for both desktop and mobile devices.

Search Results Page


Description:

This page displays all photos matching the user's search criteria. Users can click on individual images
to view them in larger detail. The enlarged view includes the photo's price, the photographer's name,
and the option to add the photo to the cart. Discounts are applied automatically based on the quantity of
photos in the cart, regardless of the photographer or search session. The cart persists even if users
perform a new search.

Functionalities:

1. Display Search Results:


○ Grid View:
■ Photos matching the search criteria are displayed in a grid format.
■ Each photo includes:
■ Thumbnail preview (watermarked and low resolution).
■ Photographer's name beneath the thumbnail.
○ Pagination or Lazy Loading:
■ Results load incrementally to ensure optimal performance.
2. Enlarged Photo View:
○ When users click on a photo:
■ Opens a modal or new section displaying the image in larger detail with a
watermark.
■ Includes the following details:
■ Price (set by the photographer).
■ Photographer's name.
■ Option to add the photo to the cart.
■ Close button to return to the search results.
3. Add to Cart Functionality:
○ Persistent Cart:
■ Photos added to the cart remain there, even if users perform a new search or
refresh the page.
○ Cart Button:
■ Easily accessible in the top-right corner, showing the number of items in the cart.
4. Discounts for Quantity:
○ Automatic discount calculation based on the number of photos in the cart:
■ Example discount structure:
■ 1-2 photos: No discount.
■ 3-5 photos: 5% discount.
■ 6-10 photos: 10% discount.
■ 11+ photos: 15% discount.
○ Discounts are universal, applying to the total cart value, regardless of the photographer
or event.
5. Dynamic Cart Updates:
○ As users add photos:
■ The total price and applicable discount are updated in real time.
■ Users can remove photos directly from the cart.
6. Responsive Design:
○ Ensure the layout is optimized for both desktop and mobile devices.
Example Workflow:

1. User searches for photos using a bib number or selfie.


2. Results are displayed in a grid with watermarked previews.
3. User clicks on a photo to view it in detail with watermarked:
○ Sees the price, photographer's name, and "Add to Cart" button.
4. User adds photos to the cart and performs a new search:
○ Previously added photos remain in the cart.
5. Discounts are applied automatically as more photos are added.

Similar Example:

Here’s an example of a similar functionality:


https://www.lumepic.com/events?countryCode=MX
Payments Page
Description:

The Payments page is where customers finalize their purchases through Stripe. Payments are split
among vendors based on their sales, applying a dynamic commission system (e.g., Elite vs. General
sellers). After payment, customers receive a download link for their photos, which is also sent via email.
The link expires after one week, and the page includes a notice explaining this to the customer.

Functionalities:

1. Payment Processing via Stripe:


○ Multiple Payment Options:
Stripe integration allows customers to pay using:
■ Credit/Debit cards.
■ PayPal (if enabled via Stripe).
■ Apple Pay/Google Pay (if configured).
○ Dynamic Checkout Page:
Automatically calculates the total amount, applying any discounts based on the number
of photos.
2. Vendor Revenue Split:
○ Dynamic Commission Settings:
■ Vendors are classified as Elite or General, with their respective revenue splits:
■ Elite: Default 85% for the vendor, 15% for the platform.
■ General: Default 80% for the vendor, 20% for the platform.
■ Editable Percentages:
Admins can update these percentages in the platform’s admin panel.
○ Sales Tracking:
The system tracks individual vendor sales during the checkout process, calculating
payouts accordingly:
■ Example:
Vendor A (Elite) sells $40 → 85% to Vendor A, 15% to the platform.
Vendor B (General) sells $10 → 80% to Vendor B, 20% to the platform.
3. Post-Payment Features:
○ Download Link Generation:
■ Upon successful payment, a unique download link is created for the customer
to access their purchased photos in high resolution.
■ The link is valid for 7 days.
○ Email Confirmation:
■ Customers receive an email containing:
■ The download link.
■ A reminder about the 7-day expiration.
■ Instructions for downloading their photos.
4. Admin Panel Integration:
○ Revenue Reports:
■ Shows a breakdown of sales and payouts by vendor (Elite vs. General).
■ Total sales, platform revenue, and individual vendor payouts.
○ Editable Vendor Percentages:
■ Admins can adjust commission rates for Elite and General vendors in the
settings.
5. Customer Notifications:
○ Download Reminder:
■ Optional: An automated reminder email can be sent 24 hours before the link
expires.
6. User-Friendly Payment Flow:
○ Cart Summary:
■ Displays purchased photos, applied discounts, and total cost before proceeding
to payment.
○ Clear messaging:
■ Explains payment security via Stripe.
■ Indicates that the download link will be available post-payment and sent via
email.
7. Security Features:
○ Link Expiration:
■ Download links expire after 7 days, ensuring limited access.
○ Stripe Secure Payments:
■ Full compliance with Stripe’s PCI-DSS standards for secure transactions.

Example Workflow:

1. Customer View:
○ Customer reviews their cart and proceeds to payment.
○ Enters payment details using Stripe.
○ Sees a confirmation screen post-payment with the download link.
2. Vendor Revenue Splitting:
○ During checkout, the system calculates payouts per vendor based on their classification
(Elite/General).
○ Revenue is split and logged for reporting.
3. Post-Payment Actions:
○ Customer receives an email with the download link and expiration details.
○ The admin panel logs the transaction, showing the split between vendors and platform
revenue.

Admin Configurations:

1. Adjustable Commission Rates:


○ Admins can set:
■ Elite vendor percentage (default: 85%).
■ General vendor percentage (default: 80%).
2. Vendor Sales Reports:
○ Shows sales volume per vendor and total payouts.
Pages Development
Here’s the detailed structure and functionalities for each of the pages, emphasizing that all content
can be modified via the admin panel.

3. Instructions Page
Description:

Provides clear, step-by-step guidance to help users navigate the platform and complete their purchase
process.

Content and Functionalities:

1. Editable Steps:
○ Search Photos:
Instructions for searching by:
■ Bib number or race number.
■ Uploading or taking a selfie.
○ Add to Cart:
Guidance on selecting photos and adding them to the cart.
○ Complete Purchase:
Steps to review the cart, proceed with payment, and download purchased photos.
2. Visual Support:
○ Include images, GIFs, or short videos to demonstrate each step, youtube videos
(modifiable via admin).
3. Contact Section:
○ “Still need help?”
Provides a link to the FAQ/Help page and Contact Us page.
4. Admin Panel Features:
○ Modify step descriptions.
○ Upload or replace visual aids.
○ Reorder steps as needed.

4. About Us Page
Description:

Showcases the platform’s mission, values, and team, helping to build trust and transparency.

Sections and Functionalities:

1. Photographers:
○ Highlight the photographers involved, with:
■ Name.
■ Short bio.
■ Social Networks links (facebook and instagram)
■ Link to their work or portfolios (optional).
○ Editable via admin.
2. Cooperative:
○ Explain how the cooperative supports photographers, including:
■ Revenue sharing.
■ Opportunities for growth.
■ Community impact.
○ Admin can update text and images.
3. Our Values:
○ Core principles: transparency, fairness, and community.
○ Bullet points with editable descriptions.
4. Contact Us:
○ Contact form:
■ Fields: Name, Email, Message.
■ Auto-reply confirming receipt (integrated with AWS SES).
○ Editable contact details:
■ Email, WhatsApp, and social media links.

5. What You Pay Page


Description:

Breakdown of how customer payments are distributed, reinforcing the platform’s mission of economic
justice.

Content and Functionalities:

1. Revenue Distribution:
○ Editable percentages for:
■ Photographers’ share (80%-85%, by default).
■ Operational costs (~10%).
■ Platform revenue (3%-5%).
○ Include a pie chart or bar graph (modifiable via admin) to visually represent the
breakdown.
2. Mission Statement:
○ “Every purchase directly supports photographers and helps us maintain fair operations."
Editable via admin.
3. Call-to-Action:
○ “By choosing us, you support fairness and transparency.”

6. Join as a Photographer Page


Description:

Encourages photographers to join the cooperative, outlining the benefits and onboarding process.

Sections and Functionalities:


1. How It Works:
○ Step-by-step guide:
■ Register.
■ Submit a portfolio.
■ Start earning.
○ Admin can modify the steps.
2. Costs:
○ Transparent explanation of:
■ Any fees.
■ Revenue share percentages.
○ Editable via admin.
3. Apply Now:
○ Form with fields:
■ Name, Email, Portfolio Link, Social networks, Experience, and Message.
○ Submissions logged in the admin panel for review.
4. Success Stories:
○ Showcase testimonials or case studies of existing photographers.
○ Admin can add, edit, or delete stories.

7. FAQ / Help Page


Description:

Answers common user questions and provides troubleshooting tips for a smooth experience.

Content and Functionalities:

1. Categories:
○ How to find photos:
Detailed steps for searching.
○ Payment methods:
Explanation of available options (Stripe, PayPal, etc.).
○ Download link expiration:
Information on the 7-day validity of download links.
2. Expandable Sections:
○ Each question expands to reveal the answer.
○ Admin can add, edit, or reorder FAQs.
3. Search Functionality:
○ A search bar at the top to quickly find relevant FAQs.
4. Contact Us Link:
○ Prominently placed for additional help.

Admin Panel Capabilities (For All Pages)


1. Modify all text content and images.
2. Add or remove sections as needed.
3. Reorder content for better flow.
4. Track form submissions (e.g., Join as a Photographer).
5. Preview changes before publishing.
Customer Account Page
Description:

The Customer Account Page allows customers to access and manage their personal information,
view purchase history, and handle their downloads. This page provides a simple, user-friendly interface
to enhance the customer experience.

Functionalities:
1. Personal Information

● Profile Details:
○ Display the following:
■ Full name.
■ Email address.
○ Edit Profile:
■ Allow customers to update:
■ Name.
■ Email address.
■ Password.

2. Purchase History

● Order Overview:
○ List all purchases made by the customer, including:
■ Order ID.
■ Event name.
■ Date of purchase.
■ Total cost.
○ View Order Details:
■ Clicking on an order displays:
■ Photos purchased (thumbnails).
■ Photographer details.
■ Amount paid.

3. Photo Downloads

● Access Purchased Photos:


○ Provide download links for all purchased photos.
○ Download Options:
■ Download photos individually.
■ Download all photos as a ZIP file.
○ Expiration Notice:
■ Display a message indicating the expiration date of the download link (e.g., "Your
download link will expire on [date]").
○ Resend download links if the customer requests it.

4. Notifications

● System Notifications:
○ Display updates or alerts, such as:
■ Expiring download links.
■ Promotions or discounts.

5. Logout

● Provide a clear Logout button to securely exit the account.


Photographer Admin Page
Here’s the Photographer Admin Page updated to include your additional requirements, designed to
streamline workflows while maintaining the integrity of the platform.

Functionalities:
1. View Sales by Event

● Dashboard Overview:
○ Display sales for each event:
■ Total photos sold.
■ Total earnings (separated into the photographer's share and platform
commission).
■ Event date and location.
○ Filters:
■ Filter by event name, date range, or performance (e.g., top-selling events).
● Export Sales Reports:
○ Download detailed sales reports in PDF or Excel format.

2. Create New Events

● Event Creation Form:


○ Fields include:
■ Event Name.
■ Date and Location.
■ Brief Description.
■ Event Category (e.g., marathon, cycling, triathlon).
○ Pending Approval Workflow:
■ Events remain in "Pending Approval" status until reviewed and approved by an
admin.
● Notifications:
○ Photographers are notified when an event is approved or rejected.

3. Request Access to an Existing Album

● Album Access Request:


○ Photographers can request permission to upload photos to an album already created for
a specific event.
○ Fields include:
■ Event name or album ID.
■ Reason for requesting access.
○ Approval Required:
■ Admins must approve requests before access is granted.
4. Upload Photos

● Bulk Photo Upload:


○ Photographers can upload multiple photos simultaneously.
○ Upload Status Panel:
■ Displays progress (successful uploads vs. failures).
■ In case of failure, allows retrying specific photos.
○ File Validation:
■ Maximum size: 5 MB per photo.
■ Duplicate filenames are not allowed.
○ Watermarking:
■ Automatically applies watermarks during upload.
● Post-Upload Processing:
○ AWS Rekognition Integration:
■ Automatically tags photos by:
■ Detected faces.
■ Bib numbers or visible text.
■ Photos are indexed for faster searches by customers.
Example https://fotografiafot.photohawk.com/es/galleries/corriendo-fin-del-ao-
toluca-2024
○ Cost Optimization for AWS Rekognition:
■ Process photos in small batches to minimize API costs.
■ Limit unnecessary reprocessing.
○ AWS Rekognition Optimization: Ensure Rekognition processes only new photos to
avoid reprocessing analyzed images.

5. Photo Management

● Photo Status Dashboard:


○ View all photos uploaded for an event:
■ Upload date and time.
■ Number of successful uploads.
■ Failed uploads (with retry options).
○ Access Restrictions:
■ Photographers cannot download or search for photos they upload to prevent
unauthorized sales.

6. Training Resources

● A dedicated section to help photographers succeed:


1. Photo Guide:
■ Best practices for capturing high-quality photos at events.
2. Uploading Guidelines and Restrictions:
■ Step-by-step instructions for uploading photos.
■ Restrictions on file size, duplicates, and watermarking.
3. Ethics Guide:
■ Rules for collaborating with other photographers.
■ Professional conduct expectations.

7. Event Performance Insights

● Performance Analytics:
○ Visualize which events perform best:
■ Total sales.
■ Average sales per photo.
■ Conversion rate (photos sold vs. photos uploaded).
○ Recommendations:
■ Suggestions for improvement based on historical performance.

8. Approval Workflow for Admins

● Admin Dashboard:
○ Admins can:
■ Approve or reject event creation requests.
■ Approve or deny access to existing albums.
■ View all pending events and album requests in one place.
○ Notification System:
■ Automatically notifies photographers about approval/rejection.

9. Stripe Integration

● Earnings Dashboard:
○ Stripe handles all revenue splits automatically:
■ Elite Photographers: Default 85% earnings.
■ General Photographers: Default 80% earnings.
○ Admins can adjust these percentages for each photographer.
Updated Upcoming Events Page
Description:

The Upcoming Events Page showcases future events where photos will be available. Customers can
directly subscribe by entering their name and email without additional steps, ensuring a quick and
seamless process.

Functionalities:
1. Event List Display

● Event Information:
○ Each event includes:
■ Event Name.
■ Date and Location.
■ Brief Description.
■ Placeholder image or event banner.
● Dynamic Sorting:
○ Events are displayed in chronological order, with the soonest events listed first.
● Search and Filters:
○ Search bar to find specific events by name or location.
○ Filters to refine results:
■ By date.
■ By category (e.g., marathon, triathlon, cycling).

2. Direct Subscription Form

● Integrated Subscription Form:


○ Below each event, a form is displayed where users can subscribe by simply entering:
■ Name.
■ Email Address.

Confirmation Message:

● After submission, a success message appears:


○ "Thank you for subscribing! You’ll receive updates when photos for [Event Name] are
uploaded."

Backend Integration:

● Store the customer’s name, email, and the associated event ID in the database for future use.

Admin Controls for Upcoming Events


● Event Management:
○ Admins can:
■ Add or edit event details (name, description, date, and banner).
■ View a list of customers subscribed to each event.
General Admin Panel Functions and Features
The Admin Panel will act as the central hub for managing the platform, providing full access to events,
photographers, sales, and customer interactions. Below are the detailed functionalities, including the
ones you provided, as well as additional features to ensure smooth operation.

1. Search and Download Photos


● Search Functionality:
○ Search photos across all events using:
■ Event name.
■ Photographer.
■ Customer details (if tied to a purchase).
○ Ability to filter by date, uploaded status, or failed uploads.
● Download Full-Resolution Photos:
○ Download photos without watermarks for troubleshooting or quality assurance.

2. Sales Analytics
● By Event:
○ Total revenue generated.
○ Number of photos sold.
○ Photographer contributions per event.
● By Photographer:
○ Sales breakdown by photographer.
○ Event performance comparison.
○ Average revenue per photo for each photographer.
● Custom Reports:
○ Ability to generate reports by date range, event, or photographer.
● Traffic Dashboard:
Integrate real-time graphs to display:
○ Active users.
○ Number of searches per minute.
○ Event traffic spikes.

3. Event Management
● Event Creation and Approval Workflow:
○ Approve or reject events created by photographers.
○ Create events directly, including:
■ Uploading event details.
■ Uploading promotional images (homepage banner and gallery thumbnail).
■ Setting categories (e.g., marathon, triathlon).
● Assign Photographers to Events:
○ Approve photographer requests to join existing events.
○ Manage the list of photographers assigned to each event.

4. Photographer Commission Management


● Editable Commission Rates:
○ Change the default revenue split percentages for:
■ Elite Photographers: Default 85%.
■ General Photographers: Default 80%.
■ First event: 100%
○ Set custom commission rates for individual photographers as needed.
● Bulk Updates:
○ Apply commission changes across all photographers or events.

5. Customer Support Tools


● Access to Sales and Downloads:
○ View customer purchase history.
○ Resend download links for purchased photos.
○ Extend expiration dates for download links if necessary.
● Email Management:
○ View and track all emails sent to customers, including:
■ Purchase confirmations.
■ Download links.
○ Resend or customize emails manually for specific cases.
● Modify Email Templates:
○ Edit the content of customer emails, including:
■ Branding (e.g., logos, watermark notices).
■ Instructions for downloading photos.
■ Customer service contact details.

● Create discounts for quantity:Create discounts for all the galleries for the quantity of photos,
for example if the customer buys 3 photos he gets 10% discount if he buys 10 photos he gets
20% discount.
● Promotional Code Management:
Enable the creation of custom discount codes for specific promotions or marketing campaigns.

6. Photographer Management
● Access Photographer Profiles:
○ View and edit details for each photographer, including:
■ Name, email, and contact info.
■ Assigned events.
■ Sales history and performance metrics.
● Support Tools for Photographers:
○ Manually reassign photographers to events.
○ Resolve account-related issues (e.g., password resets, account lockouts).

7. Photo and Watermark Management


● Watermark Configuration:
○ Add or update watermark templates.
○ Preview how watermarks appear on photos before publishing.
● Photo Management:
○ Delete, replace, or modify photos in a gallery.
○ Bulk actions for managing uploads or resolving failed uploads.

8. System Settings
● Platform Customization:
○ Update global settings, such as:
■ Platform-wide default commission rates.
■ Default photo expiration period (e.g., 7 days).
○ Manage site-wide branding:
■ Logos, slogans, and footer content.
● Admin User Management:
○ Create and manage multiple admin accounts with different levels of access (e.g., super
admin, event admin).

9. Modify Pages and Main Menu


Page Management:

● Editable Pages:
○ Allow admins to modify the content of all static pages, such as:
■ About Us: Update photographers’ details, cooperative descriptions, values, and
contact info.
■ What You Pay: Change the breakdown percentages or descriptions.
■ Instructions Page: Add or remove steps, update images or videos.
■ FAQ / Help: Add new questions, reorder or update answers.
○ Use a WYSIWYG Editor (What You See Is What You Get):
■ Simplifies the process of updating text, images, and layout without coding.
● Page Preview and Publishing:
○ Preview changes before publishing them live.
○ Save drafts to work on updates incrementally.

Menu Management:

● Dynamic Menu Editor:


○ Add, remove, or reorder menu items directly from the admin panel.
○ Link Management:
■ Create links to existing pages or external URLs.
■ Option to open links in the same window or a new tab.
● Language Control:
Provide a tool to update or edit translations directly from the admin panel.

10. Audit Logs


Description:

Maintain a record of all actions taken by admins and photographers for accountability and
troubleshooting.

Functionalities:

1. Action Tracking:
○ Log all major actions, such as:
■ Approving or rejecting events.
■ Changing commission percentages.
■ Modifying email templates.
■ Uploading, editing, or deleting photos.
2. Details Captured:
○ Date, time, and user who performed the action.
○ Description of the action (e.g., "Changed commission for Photographer A from 85% to
90%").
○ Event or entity affected (if applicable).
3. Searchable Logs:
○ Filter logs by:
■ Action type (e.g., "Event Approval").
■ User.
■ Date range.

11. Event Insights


Description:

Provide in-depth analytics on event performance, helping admins and photographers understand trends
and optimize their strategies.

Functionalities:

1. Real-Time Metrics:
○ Track total sales, photos sold, and top-performing photographers for each event.
2. Visual Analytics:
○ Graphs showing:
■ Daily sales trends.
■ Revenue by photographer.
■ Customer engagement (e.g., number of searches, photos added to cart).
3. Comparative Analysis:
○ Compare performance across multiple events to identify trends (e.g., "Marathons tend to
sell more photos than triathlons").

12. Notification Management


Description:

Admin tool for creating and managing notifications for both photographers and customers.

Functionalities:

1. Types of Notifications:
○ System-Wide Notifications:
■ Announcements like scheduled maintenance, new features, or platform updates.
○ Photographer-Specific Notifications:
■ Reminders to upload photos, event approvals, or performance updates.
○ Customer Notifications:
■ Alerts about expiring download links or promotions.
2. Notification Delivery:
○ Send notifications via:
■ Email.
■ Dashboard alerts (visible upon login).
3. Scheduling:
○ Set notifications to go live immediately or schedule them for a future date.

13. Bulk Email Campaigns


Description:

Admin feature for creating and sending email campaigns to customers and photographers.

Functionalities:

1. Campaign Creation:
○ Design custom email templates for:
■ Event promotions.
■ Discounts or limited-time offers.
■ Updates for photographers (e.g., "Best Practices for Photo Uploads").
2. Targeted Campaigns:
○ Segment audiences by:
■ Customers who purchased in specific events.
■ Photographers with active or pending events.
■ Inactive users (e.g., not logged in for X days).
3. Performance Metrics:
○ Track open rates, click-through rates, and conversion rates for each campaign.
14. Modify the Main Menu and Footer
Menu Modification:

● Allow admins to:


○ Add, rename, or remove menu items.
○ Link menu items to specific pages or external URLs.
○ Reorganize the menu structure.

Footer Customization:

● Editable Sections:
○ Update legal links (Terms & Conditions, Privacy Policy, etc.).
○ Change contact details (email, phone, social media links).
○ Modify payment method icons and branding elements.

15. Features for Administrators





Security and Functionalities
Here’s a detailed breakdown of the security features for login and platform operations, as well as
additional functionalities that might be missing to complete the project requirements.

1. Security Features
Login and Authentication

1. AWS Cognito Integration:


○ Secure user authentication for customers, photographers, and admins.
○ Supports:
■ Multi-Factor Authentication (MFA):
■ Email or SMS-based verification for additional login security.
■ Social Logins (Optional):
■ Login via Google, Facebook, or Apple.
○ Password policies:
■ Enforce strong passwords (minimum 8 characters, including uppercase,
lowercase, numbers, and symbols).
■ Password reset functionality.
2. Role-Based Access Control (RBAC):
○ Different access levels for:
■ Customers: Purchase photos and access their downloads.
■ Photographers: Upload and manage photos, view sales.
■ Admins: Full access to all features and management tools.
○ Prevent unauthorized access to sensitive features (e.g., downloading high-resolution
photos).
3. Session Management:
○ Automatic logout after a period of inactivity (configurable, e.g., 15-30 minutes).
○ Support for "Remember Me" functionality with encrypted tokens.
4. Account Lockout:
○ Lock accounts temporarily after multiple failed login attempts to prevent brute-force
attacks.
5. Audit Logs for Logins:
○ Record all login attempts (successful and failed), including IP address, timestamp, and
device.

Data Protection

1. Encryption:
○ Use HTTPS for all communications to encrypt data in transit (SSL/TLS).
○ Encrypt sensitive data at rest (e.g., passwords, Stripe keys) using AES-256.
2. Access Control to Photos:
○ Use AWS S3 Signed URLs to control access to high-resolution photos.
○ Links expire after 7 days or another configurable duration.
3. Data Backup and Recovery:
○ Automated daily backups for:
■ Customer purchase history.
■ Photographer sales data.
■ Event details and uploaded photos.
○ Backup retention policy (e.g., keep backups for 30-90 days).
4. Firewall Protection:
○ Use AWS WAF (Web Application Firewall) to:
■ Block malicious traffic (e.g., SQL injection, cross-site scripting).
■ Limit requests per IP to prevent DDoS attacks.

2. Additional Functionalities
Platform Scalability

1. Auto-Scaling:
○ Use AWS services like Elastic Load Balancing (ELB) and Auto Scaling to handle spikes
in traffic (e.g., after an event).
2. Image Optimization:
○ Compress images automatically during upload to improve page load times without
sacrificing quality.
3. Content Delivery Network (CDN):
○ Use AWS CloudFront to deliver images quickly to users worldwide.

Customer Experience

1. Download History:
○ Customers can see previously purchased photos and re-download them (within the link
expiration period).
2. Purchase Notifications:
○ Automated email notifications for successful purchases, including:
■ Invoice.
■ Download link.
■ Reminder about expiration.
3. Search Optimization:
○ Enhance search features using tags from AWS Rekognition:
■ Filter by event, bib number, or face recognition.
○ Ensure fast response times for search queries.
4. AWS Rekognition Optimization: Ensure Rekognition processes only new photos to avoid
reprocessing analyzed images.

Photographer Management

1. Automated Payouts via Stripe:


○ Ensure photographers receive their earnings automatically through Stripe’s payout
system.
2. Upload Error Handling:
○ Notify photographers of upload errors in real-time, with reasons (e.g., file size exceeded,
duplicate names).

Admin Tools

1. Multi-Admin Support:
○ Allow multiple admin accounts with different permissions (e.g., super admin, event
manager).
2. Global Configuration Settings:
○ Admins can update platform-wide settings such as:
■ Default photographer commissions.
■ Photo expiration periods.
■ Site branding elements (e.g., logo, slogans).

3. Monitoring and Reporting


System Monitoring

1. Error Tracking:
○ Use services like AWS CloudWatch to monitor application errors and performance
issues.
2. Usage Analytics:
○ Track user activity to identify trends (e.g., peak search times, popular events).
3. Real-Time Notifications:
○ Alert admins to critical issues like:
■ Failed photo uploads.
■ Payment processing errors.

Compliance and Privacy

1. GDPR/CCPA Compliance:
○ Allow customers to:
■ Delete their accounts.
■ Download their personal data.
○ Provide clear terms and conditions for data usage.
2. Data Access Logs:
○ Track who accessed customer or photographer data to ensure compliance with privacy
policies.

You might also like