Sprint 5 Progress - Kaleemunnisa/CS691-Spring2025-Team6 GitHub Wiki

๐Ÿ Sprint 5 โ€“ AI-Powered Travel Planner & Business Enhancements

๐ŸŽฏ Sprint Goal

  • Train and implement an AI model to generate personalized travel plans.
  • Enhance profile pages to support detailed business information.
  • Introduce features for event posting, appointment booking, and local business interactions.
  • Display relevant businesses to users based on location.

โœ… Sprint 5: In Progress Tasks

๐Ÿง  TASK-022: Train AI Model for Travel Planning (Backend)

Summary:
Developed and trained a machine learning model that generates structured travel itineraries using user preferences, history, and behavior data.

Acceptance Criteria:
The model successfully suggests the next trip he can visit.

Progress:

  • We have maintaining user profiles so we were not likely to use a dummy data so we have moved to next sprint.

โœ… Sprint 5: Completed Tasks

๐Ÿ‘ค TASK-023: Profile Page Business Enhancements (Frontend)

Summary:
Updated the profile interface for businesses to include fields such as services offered, business location, and availability.

Acceptance Criteria:
Users can input, edit, and persist detailed business-related information.

Code Snippet:

// Business Services Input
{
  currentUserData.userType === "business" && (
    <BusinessImagesUpdateSection
      setBusinessImages={setBusinessImages}
      businessImages={businessImages}
    />
  );
}

// Location & Map Pin Drop handled using Expo Location API

๐Ÿ“… TASK-024: User Event Posting (Frontend & Backend)

Summary:
Enabled users to post public events, and manage those interactions.

Acceptance Criteria:
Users can seamlessly create, edit, and delete their events.

Code Snippet:

// Post
export const saveUserCreatedPost = async (
  postData: Omit<Post, "id">
): Promise<Post> => {
  const user = auth.currentUser;
  if (!user) throw new Error("No user is currently authenticated.");
  const userId = user.uid;
  const uidSuffix = userId.slice(-5);
  const userPostsRef = doc(db, "user_posts", userId);
  //logic
  await setDoc(
    userPostsRef,
    {
      posts: arrayUnion(fullPost),
      updatedAt: serverTimestamp(),
    },
    { merge: true }
  );

  return fullPost;
};

// Create Event
export const saveUserCreatedEvent = async (
  eventData: Omit<Event, "id">
): Promise<Event> => {
  const user = auth.currentUser;
  if (!user) throw new Error("No user is currently authenticated.");
  const userId = user.uid;
  const uidSuffix = userId.slice(-5);
  const userEventsRef = doc(db, "user_created_events", userId);
  //logic
  return fullEvent;
};

๐Ÿช TASK-025: Local Business Listings (Frontend & Backend)

Summary:
Implemented dynamic display of nearby businesses based on user location. Integrated map markers and detail views.

Acceptance Criteria:
Relevant business cards appear for users to interact with, filtered by current GPS location.

Code Snippet:

 {userType === "business" && (
              <>
                <Text style={styles.label}>Business Type:</Text>
                <Picker
                  selectedValue={businessData.businessType}
                  onValueChange={(value) => handleChange("businessType", value)}
                  style={styles.picker}
                  itemStyle={styles.pickerItem}
                >

                  <Picker.Item
                    label="Restaurant"
                    value="restaurant"
                    color={textColor}
                  />
                  <Picker.Item
                    label="Cafe & Bakery"
                    value="cafe"
                    color={textColor}
                  />

                  //Other properties
             </>
)}

๐Ÿงช TASK-026: Testing & Debugging

Summary:
Thorough testing of the new AI features, UI enhancements, and backend functions.

Acceptance Criteria:
All features passed test scenarios with no major bugs found.


๐Ÿ† Results for Sprint 5

Business Registeration Share Post To Feed Share Event To feed
โš ๏ธ **GitHub.com Fallback** โš ๏ธ