Arch Tech Stack - amanda-zambrana/What2Wear GitHub Wiki

Frontend (Mobile Application)

  • Framework - React Native (Expo App)

Backend

  • Language - Java
  • Database - Firebase (for storing users' accounts, clothing inventory, preferences, and weather data, etc.)

AI/ML Components

  • Smart Shuffle Outfit Matching - Used custom rule-based AI that we designed to generate outfit suggestions based on predefined rules and logic.
  • Weather Data Integration - OpenWeatherMap API to fetch real-time local weather data. AI model can use the weather data as input for suggesting temperature- and weather-appropriate clothing.
  • Smart Weather-Based Styling Suggestions and Chat - Gemini Pro, Hugging Face for developing a smart chatbot to provide users with outfit suggestions based on their current local weather conditions.
  • Calendar Integration - integrate calendar to allow users to schedule and store outfits for specific future dates. Could potentially migrate to Google Calendar API, which can also be used to sync with users' Google Accounts in order to remind them of what to wear on their Google Calendar App as well.

Imaging Tools

  • Camera / Photo Library Access - Integrate native camera features to allow users to take pictures of their clothing in the app or upload photos from their library
  • Image Storage - Use Cloudinary for generating image URLs and Firebase for storing user-uploaded images of wardrobe items

Cloud Infrastructure

  • CI/CD - GitHub Actions for automating build, test, and deployment
  • Cloud Hosting - Expo's EAS (Expo Application Services) in collaboration with Firebase App Distribution
  • Cloud Storage - Firebase cloud for storing user data

User Authorization & Authentication

  • Auth0 - for custom setup of authentication in Firebase backend

Future Implementation (Tech Stack for Features to Develop if we Have Time)

  • Analytics - Google Analytics or Firebase Analytics for tracking user behaviors and outfit analytics
  • Notifications & Reminders - OneSignal for cross-platform push notifications
  • Integrated Shopping - Use Shopify API to let users browse or purchase similar clothing items based on their digital wardrobe inventory.
  • Image Background Removal - Cloudinary also offers image transformation tools including background removal. We will use it to remove the background from closet inventory images uploaded by users to create a better UI aesthetic