Skip to content

askabderon/vibe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vibe Tag

Social media that's good for your mental health

A daily vibe app that encourages positive activities and mindful living through beautiful photo captures.

Features

  • Daily Vibe Reveal: Get a new vibe challenge every day with a beautiful reveal animation
  • Camera Integration: Capture your vibe moments with a 4:5 aspect ratio camera
  • Photo Overlays: Apply beautiful glass-style overlays to your photos
  • Profile Grid: View all your captured vibes in a beautiful grid layout
  • Social Sharing: Share to Instagram Stories, Instagram Feed, and more
  • Premium Features: Unlimited storage, premium overlays, no watermark
  • Push Notifications: Daily reminders to check your vibe

Tech Stack

  • Language: Swift
  • Framework: SwiftUI
  • Architecture: MVVM
  • Minimum iOS: 16.0+
  • Platform: iPhone only

Project Structure

Vibe/
├── App/
│   ├── VibeTagApp.swift          # Main app entry point
│   └── ContentView.swift         # Tab navigation
├── Models/
│   ├── Vibe.swift                # Core vibe model (20 vibes)
│   ├── CapturedVibe.swift        # Captured photo model
│   └── UserSettings.swift        # User preferences
├── Views/
│   ├── Home/
│   │   └── HomeView.swift        # Daily vibe reveal
│   ├── Camera/
│   │   ├── CameraView.swift      # Camera capture
│   │   ├── CameraPreviewView.swift
│   │   └── PhotoPreviewView.swift
│   ├── Profile/
│   │   ├── ProfileView.swift     # Photo grid
│   │   ├── VibeThumbnail.swift
│   │   └── VibeDetailView.swift
│   ├── Premium/
│   │   └── PaywallView.swift     # IAP subscription
│   └── Components/
│       ├── GlassCard.swift
│       ├── GlassCardButton.swift
│       ├── FeatureRow.swift
│       ├── ShareButton.swift
│       └── ShareSheet.swift
├── ViewModels/
│   ├── VibeManager.swift         # Daily vibe logic
│   ├── CameraManager.swift       # Camera management
│   ├── StorageManager.swift      # Photo storage
│   └── IAPManager.swift          # In-app purchases
├── Utils/
│   ├── DesignSystem.swift        # Colors, fonts, spacing
│   ├── Extensions.swift
│   ├── OverlayRenderer.swift     # Photo overlay rendering
│   └── NotificationManager.swift
└── Resources/
    └── Info.plist

Setup Instructions

1. Create Xcode Project

Since this is a source-only project, you'll need to create an Xcode project:

  1. Open Xcode
  2. Select "Create a new Xcode project"
  3. Choose "iOS" > "App"
  4. Fill in the details:
    • Product Name: Vibe
    • Team: Your team
    • Organization Identifier: com.yourname (or your identifier)
    • Interface: SwiftUI
    • Language: Swift
    • Storage: None (we handle it manually)
  5. Save it in the /Users/basakonder/Desktop/Vibe directory

2. Add Files to Xcode

After creating the project:

  1. Delete the default ContentView.swift and VibeApp.swift files
  2. Right-click on the Vibe folder in Xcode
  3. Select "Add Files to Vibe..."
  4. Select all the folders (App, Models, Views, ViewModels, Utils, Resources)
  5. Make sure "Copy items if needed" is unchecked (they're already in the right place)
  6. Make sure "Create groups" is selected
  7. Click "Add"

3. Configure Info.plist

  1. Select your project in Xcode
  2. Select the "Vibe" target
  3. Go to the "Info" tab
  4. Right-click and select "Open As" > "Source Code"
  5. Replace the contents with the Info.plist from Vibe/Resources/Info.plist

4. Add Required Capabilities

  1. Select your project in Xcode
  2. Select the "Vibe" target
  3. Go to "Signing & Capabilities"
  4. Add the following capabilities:
    • In-App Purchase (click + button and add it)
    • Push Notifications (for daily reminders)

5. Configure App Icons & Assets

The app needs an app icon. You can:

  • Use an icon generator like AppIconMaker
  • Create a gradient icon with a "V" or sparkle emoji
  • Add it to Assets.xcassets

6. Test the App

  1. Select an iOS Simulator (iPhone 15 Pro recommended)
  2. Press Cmd+R to build and run
  3. Grant camera permissions when prompted
  4. Try revealing your daily vibe!

Key Features to Test

Daily Vibe System

  • Reveal animation works smoothly
  • Vibe changes at midnight
  • Same vibe for all users on same day

Camera

  • Camera permissions
  • 4:5 aspect ratio crop
  • Capture and preview

Storage

  • Free tier: Only last 7 days of photos
  • Photos persist after app restart
  • Delete functionality

Premium

  • Paywall presentation
  • IAP flow (requires App Store Connect setup)
  • Premium features unlock

Known Limitations (MVP)

  • Premium IAP: Product IDs need to be configured in App Store Connect
  • Social Feed: Not implemented in MVP
  • Premium Overlays: Only glass overlay is fully implemented (others use glass as placeholder)
  • App Icon: Needs to be designed and added
  • Launch Screen: Basic, needs design

Next Steps for Production

  1. App Store Connect Setup

    • Create app listing
    • Configure IAP products
    • Add screenshots
  2. Design Assets

    • App icon (1024x1024)
    • Launch screen
    • App Store screenshots
  3. Additional Overlays

    • Implement remaining 7 premium overlay styles
    • Test rendering performance
  4. Testing

    • Test on multiple devices
    • Test iOS 16, 17, 18
    • Test IAP in sandbox
  5. Privacy & Legal

    • Privacy policy
    • Terms of service
    • GDPR compliance (if needed)

Development Timeline (From Spec)

  • Week 1: Setup & Foundation ✅
  • Week 2: UI Foundation ✅
  • Week 3-4: Core Vibe System ✅
  • Week 5: Camera Integration ✅
  • Week 6: Photo Overlays ✅
  • Week 7: Storage & Profile ✅
  • Week 8: Social Sharing ✅
  • Week 9: Premium & IAP ✅
  • Week 10: Polish & Testing (In Progress)
  • Week 11: App Store Prep (Pending)

License

© 2025 Vibe Tag. All rights reserved.

Contact

For questions or support, please open an issue in this repository.


Built with ❤️ and SwiftUI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages