TrueToSize App Setup Instructions
Thank you for purchasing TrueToSize, a community-powered sneaker review database app.
TrueToSize allows users to search sneakers, add shoes, submit photo-verified reviews, rate fit/performance, and browse authentic sneaker feedback from real users.
This guide explains how to set up, customize, and launch the app.
1. App Overview
TrueToSize includes:
- Sneaker database
- User accounts
- Login and sign-up
- Forgot password flow
- User profile creation
- Add shoe flow
- Add review flow
- Required photo uploads for reviews
- Shoe detail pages
- Review cards
- Rating breakdowns
- Fit feedback
- Community-added shoe entries
- Shopping link sections
- Premium dark sneaker website theme
Users can browse the app without an account, but they must create a profile before submitting reviews or adding shoes.
2. Required Setup Before Launch
Before launching the app, complete the following steps:
- Update the app name and branding.
- Connect the authentication system.
- Set up password recovery.
- Connect file/image storage.
- Confirm database tables are working.
- Add starter sneaker data.
- Add official or placeholder sneaker images.
- Add shopping or affiliate links.
- Test account creation.
- Test review submission.
- Test image uploads.
- Test mobile responsiveness.
3. Branding Setup
Update the following branding items:
- App name
- Logo
- Favicon
- App description
- Homepage tagline
- Footer text
- Social sharing image
- Contact/support email
Default app name:
TrueToSize
Default tagline:
The sneaker review database built by real wearers.
Optional tagline alternatives:
- Real sneaker reviews. Real photos. Real fit feedback.
- Find out how shoes really fit, feel, and perform.
- The sneaker database powered by real wearers.
4. Theme Setup
The app uses a premium sneaker database theme.
Recommended colors:
background: #0B0B0D;
foreground: #FFFFFF;
card: #17171A;
card-foreground: #FFFFFF;
primary: #FF5A1F;
primary-foreground: #FFFFFF;
secondary: #222228;
secondary-foreground: #FFFFFF;
muted: #222228;
muted-foreground: #A1A1AA;
accent: #3B82F6;
accent-foreground: #FFFFFF;
destructive: #EF4444;
destructive-foreground: #FFFFFF;
border: #2D2D33;
input: #2D2D33;
ring: #FF5A1F;
Recommended fonts:
- Headings: Space Grotesk
- Body/UI text: Inter
Use orange for primary actions such as:
- Add Review
- Add Shoe
- Submit Review
- Sign Up
- Active navigation states
Use gold/yellow for star ratings.
Use green for Photo Verified badges.
Use blue for Community Added badges.
Use amber for Pending Verification states.
5. Authentication Setup
The app requires user authentication for reviews and shoe submissions.
Users must create a profile before they can:
- Submit a review
- Upload review photos
- Add a shoe to the database
- Edit their profile
Users can browse without an account.
Make sure the following routes work:
/auth?mode=login
/auth?mode=signup
/forgot-password
/reset-password
/profile
/complete-profile
Required user profile fields:
- Username
- Email
- Password
- Usual shoe size
- Foot width
Optional user profile fields:
- Profile photo
- Favorite brand
- Main sneaker use
- Basketball play style
- City/state
- Bio
Do not display user emails publicly.
6. Password Recovery Setup
The app includes a forgot password flow.
Make sure your authentication provider is configured for password reset emails.
Password recovery pages:
/forgot-password
/reset-password
The reset email should redirect users to:
https://your-domain.com/reset-password
Replace your-domain.com with your actual domain.
Test the full reset flow before launch:
- Go to login.
- Click Forgot Password?
- Enter an account email.
- Confirm the reset email is received.
- Open the reset link.
- Create a new password.
- Log in with the new password.
7. Database Setup
The app uses these core data models:
Users
Stores account and profile data.
Important fields:
- id
- username
- email
- profile_image
- usual_shoe_size
- foot_width
- favorite_brand
- main_sneaker_use
- basketball_play_style
- city_state
- bio
- review_count
- shoes_added_count
- is_profile_complete
- created_at
- updated_at
Shoes
Stores sneaker database entries.
Important fields:
- id
- brand
- model_name
- full_name
- colorway
- nickname
- category
- main_use
- release_year
- retail_price
- description
- main_image
- submitted_by_user_id
- is_user_submitted
- approval_status
- average_overall_rating
- average_comfort_rating
- average_fit_rating
- average_cushion_rating
- average_traction_rating
- average_support_rating
- average_durability_rating
- average_value_rating
- average_style_rating
- total_reviews
- recommendation_percentage
- created_at
- updated_at
Reviews
Stores user reviews.
Important fields:
- id
- user_id
- shoe_id
- primary_image_url
- overall_rating
- comfort_rating
- fit_rating
- cushion_rating
- traction_rating
- support_rating
- durability_rating
- value_rating
- style_rating
- review_title
- review_text
- recommended
- usage_type
- usual_shoe_size
- size_worn
- foot_width
- fit_result
- pros
- cons
- hours_worn
- where_purchased
- price_paid
- created_at
- updated_at
Review Photos
Stores review photo uploads.
Important fields:
- id
- review_id
- shoe_id
- user_id
- image_url
- photo_type
- created_at
Shopping Links
Stores where-to-buy links.
Important fields:
- id
- shoe_id
- retailer_name
- url
- affiliate_url
- price_optional
- size_optional
- condition_optional
- created_at
- updated_at
Shoe Aliases
Improves search.
Important fields:
- id
- shoe_id
- alias_name
- created_at
Example aliases:
- Kobe 6
- Kobe VI
- Kobe 6 Protro
- Nike Zoom Kobe 6
- AE 1
- Anthony Edwards 1
8. Image Storage Setup
The app requires image uploads for reviews.
Make sure image storage is enabled and connected.
Review images must:
- Upload successfully
- Return a permanent image URL
- Save to the review record as
primary_image_url
- Save to the Review Photos table as
image_url
- Display on review cards
- Display on shoe detail pages
- Display in community photo sections
- Display in user profiles
Do not save temporary blob: URLs as permanent image URLs.
Every review must include at least one uploaded photo.
9. Starter Shoe Data
Before launch, add starter shoes to make the app feel populated.
Recommended starter categories:
- Basketball
- Running
- Training
- Lifestyle
- Casual
Recommended starter basketball shoes:
- Nike GT Cut 3
- Nike GT Hustle 3
- Nike Sabrina 2
- Nike LeBron 21
- Nike KD 17
- Nike Ja 2
- Nike Book 1
- Air Jordan 38
- Air Jordan 39
- Jordan Tatum 3
- Adidas AE 1
- Adidas Harden Vol. 8
- Adidas Dame 9
- Puma All-Pro Nitro
- Puma MB.03
- New Balance TWO WXY V5
- New Balance Fresh Foam BB V2
- Way of Wade 10
- Way of Wade 11
- Li-Ning JB 2
- Converse All Star BB Trilliant CX
- Under Armour Curry 12
Each shoe should include:
- Brand
- Model name
- Full name
- Category
- Main image
- Short description
- Optional shopping links
10. Shopping Links Setup
Each shoe can include shopping links.
Supported retailers may include:
- Nike
- Adidas
- New Balance
- Puma
- Converse
- Under Armour
- Foot Locker
- Dick’s Sporting Goods
- Hibbett
- JD Sports
- Finish Line
- eBay
- GOAT
- StockX
- Amazon
If using affiliate links, update the affiliate_url field.
Include an affiliate disclosure in the app:
Some shopping links may earn us a commission.
If a shoe has no shopping links, the app should display:
Shopping links have not been added for this shoe yet.
11. Review Rules
The app is designed to keep reviews authentic.
A user cannot submit a review unless:
- They are logged in
- Their profile is complete
- They selected or added a shoe
- They uploaded at least one photo
- They added required ratings
- They wrote a review title
- They wrote review text
Each review should show:
- Username
- Usual shoe size
- Foot width
- Size worn
- Usage type
- Photo Verified badge
- Review date
- Uploaded photo
12. Add Shoe Rules
Users can add missing shoes to the database.
Required fields:
- Brand
- Model name
- Category
- At least one shoe photo
Optional fields:
- Colorway
- Nickname
- Release year
- Retail price
- Main use
- Description
- Shopping link
- Notes
User-added shoes should be marked as:
is_user_submitted = true
approval_status = pending
The public shoe card can display:
Community Added
13. Recommended Admin Workflow
Before launch, create an admin workflow for reviewing database quality.
Admins should periodically check:
- Newly added shoes
- Duplicate shoe entries
- Inappropriate photos
- Incorrect categories
- Broken images
- Incorrect shoe names
- Broken shopping links
- Low-quality reviews
Future admin features may include:
- Approve shoes
- Reject shoes
- Merge duplicate shoes
- Edit shoe details
- Add official product images
- Add aliases
- Add shopping links
- Remove bad photos
- Feature high-quality reviews
14. Testing Checklist
Before giving the app to users, test the following:
Authentication
- Create account
- Log in
- Log out
- Forgot password
- Reset password
- Complete profile
- Protected route redirects
Shoe Database
- Search shoes
- View shoe detail page
- Add new shoe
- Prevent duplicate shoes
- View community-added shoes
Reviews
- Add review to existing shoe
- Add review while adding a new shoe
- Upload review photo
- Confirm review image displays
- Confirm rating averages update
- Confirm review appears on shoe page
- Confirm review appears on user profile
Images
- Upload shoe image
- Upload review image
- Refresh page and confirm images remain
- Confirm broken images use placeholders
Mobile
- Test homepage
- Test search
- Test