This is the main repo for Group 5's MET-CS 673 fall semester 2025 project - ClosIT
ClosIT is Gemini powered outfit recommendation application based on weather conditions, events and user preferences. User can try different color combination of outfits, save outfits, edit and delete them.
This repo is split into 2 parts -
Most Recent Deploy Status -
The frontend NextJS React App
Displays a header showing current location and weather data based on IP address Provides a Dashboard, Manage Closet, and AI Chat page
Suggests clothing outfits based on current weather
Allows users to add, modify, or delete clothing items to their closet. Users can search by name and sort by category.
WIP
The backend server built using Firebase functions. Written in Python, using the Firebase Python SDK
Connects the frontend to the following APIs: Geolocation from IP # Retrieves location to be used for accessing weather information Visual Crossing Weather Data # Retrieves weather data from location Google Gemini # Handle clothing suggestions in Dashboard page, gets clothing info from uploaded images on Closet page Firebase Functions # Retrieve, update, and delete clothing entries
React Frontend: ItemDetails > handleDelete()
↓
React Frontend: FirebaseServices.deleteClosetItemById()
↓
Next.js API route: /api/deleteClosetItem
↓
Next.js fetch(ENDPOINT_URL → Firebase Function)
↓
Firebase Cloud: deleteClosetItem (onRequest wrapper)
↓
Firebase Cloud: deleteClosetItemOnRequest
↓
Firebase Cloud: Deletes item in Firebase realtime database, returns success
↓
Next.js: returns JSON.stringify({ message: `Item deleted successfully: ${itemId}` }),
↓
React Frontend: receives response and updates UI accordingly