Skip to content

Commit 7cda81e

Browse files
Tony QiuTony Qiu
authored andcommitted
Merge branch 'main' of https://github.com/ericahan22/Wat2Do
2 parents e6e1878 + d28ab62 commit 7cda81e

File tree

9 files changed

+472
-556
lines changed

9 files changed

+472
-556
lines changed

backend/apps/events/migrations/0011_alter_events_dtstamp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# Generated by Django 4.2.7 on 2025-10-25 17:26
22

3-
from django.db import migrations, models
43
import django.utils.timezone
4+
from django.db import migrations, models
55

66

77
class Migration(migrations.Migration):
8-
98
dependencies = [
109
("events", "0010_events_events_dtstart_89a1ed_idx"),
1110
]

backend/apps/events/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,9 @@ def get_google_calendar_urls(request):
346346
# Format dates for Google Calendar (YYYYMMDDTHHMMSSZ for UTC)
347347
start_date = event.dtstart_utc.strftime("%Y%m%d")
348348
start_time = event.dtstart_utc.strftime("%H%M%S")
349-
end_time = event.dtend_utc.strftime("%H%M%S") if event.dtend_utc else start_time
349+
end_time = (
350+
event.dtend_utc.strftime("%H%M%S") if event.dtend_utc else start_time
351+
)
350352

351353
start_datetime = f"{start_date}T{start_time}Z"
352354
end_datetime = f"{start_date}T{end_time}Z"

backend/scraping/generate_static_data.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,7 @@ def main():
156156
"export const RECOMMENDED_FILTERS: [string, string, string][] = [];\n"
157157
)
158158

159-
logger.info(
160-
"Successfully updated staticData.ts with recommended filters"
161-
)
159+
logger.info("Successfully updated staticData.ts with recommended filters")
162160

163161
# --- Static RSS file ---
164162
try:

backend/scraping/instagram_feed.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ def insert_event_to_db(event_data, ig_handle, source_url):
240240
"ig_handle": ig_handle,
241241
"title": title,
242242
"source_url": source_url,
243-
"dtstamp": timezone.now(),
243+
"dtstamp": timezone.now(),
244244
"dtstart": dtstart,
245245
"dtstart_utc": dtstart_utc,
246246
"dtend": dtend or None,

backend/scripts/generate_recommended_filters.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
import logging
1212
import os
13-
import re
1413
import sys
1514
from datetime import date
1615
from pathlib import Path
@@ -51,7 +50,7 @@ def fetch_upcoming_events():
5150
def update_static_data_file(recommended_filters):
5251
"""Update the staticData.ts file with new recommended filters"""
5352
from datetime import datetime, timezone
54-
53+
5554
# Find the frontend staticData.ts file
5655
frontend_dir = Path(__file__).resolve().parent.parent.parent / "frontend"
5756
static_data_path = frontend_dir / "src" / "data" / "staticData.ts"

backend/services/openai_service.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,18 @@ def generate_event_embedding(self, event) -> list[float]:
7878
return self.generate_embedding(enhanced_text)
7979

8080
def extract_events_from_caption(
81-
self, caption_text: str, source_image_url: str | None = None, post_created_at: datetime | None = None, school: str = "University of Waterloo"
81+
self,
82+
caption_text: str,
83+
source_image_url: str | None = None,
84+
post_created_at: datetime | None = None,
85+
school: str = "University of Waterloo",
8286
) -> list[dict[str, str | bool | float | None]]:
8387
"""Extract event information from Instagram caption text and optional image"""
8488
# Get current date and day of week for context
8589
now = datetime.now()
8690
current_date = now.strftime("%Y-%m-%d")
8791
current_day_of_week = now.strftime("%A")
88-
92+
8993
# Use post creation time if provided, otherwise use current time
9094
context_datetime = post_created_at if post_created_at else now
9195
context_date = context_datetime.strftime("%Y-%m-%d")

frontend/public/rss.xml

Lines changed: 446 additions & 532 deletions
Large diffs are not rendered by default.

frontend/src/data/staticData.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ export const LAST_UPDATED = "2025-10-24T20:43:36.891387+00:00";
33
export const RECOMMENDED_FILTERS: [string, string, string][] = [
44
["Food%20and%20Drink", "Pizza", "free food"],
55
["Food%20and%20Drink", "Pizza", "Pizza"],
6-
["Food%20and%20Drink", "Cookie", "Cookies"],
7-
["Food%20and%20Drink", "Hot%20Dog", "Hot dogs"],
8-
["Food%20and%20Drink", "Bubble%20Tea", "Bubble tea"],
9-
["Food%20and%20Drink", "Dango", "Dumplings"],
10-
["Activity", "Jack%20O%20Lantern", "Pumpkin Carving"],
11-
["Activity", "Fireworks", "Bonfire"],
12-
["Activity", "Magic%20Wand", "Halloween"],
13-
["Activity", "Confetti%20Ball", "Costume Contest"],
14-
["Activity", "Soccer%20Ball", "Sports"],
6+
["Food%20and%20Drink", "Cookie", "cookies"],
7+
["Food%20and%20Drink", "Bubble%20Tea", "bubble tea"],
8+
["Food%20and%20Drink", "Hot%20Dog", "hot dogs"],
9+
["Food%20and%20Drink", "Doughnut", "donuts"],
10+
["Food%20and%20Drink", "Chocolate%20Bar", "chocolate"],
11+
["Food%20and%20Drink", "Cupcake", "snacks"],
12+
["Food%20and%20Drink", "Beverage%20Box", "drinks"],
13+
["Activity", "Jack%20O%20Lantern", "pumpkin carving"],
14+
["Activity", "Fireworks", "bonfire"],
15+
["Activity", "Party%20Popper", "party"],
16+
["Activity", "Video%20Game", "games night"],
1517
["Smileys", "Ghost", "Halloween"],
16-
["People", "Clapping%20Hands", "Open Mic"],
17-
["Smileys", "Smiling%20Face", "Wellness"],
18-
["Smileys", "Smiling%20Face%20With%20Hearts", "Community"]
18+
["Smileys", "Grinning%20Face", "murder mystery"]
1919
];

frontend/tsconfig.tsbuildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"root":["./src/vite-env.d.ts","./src/app/app.tsx","./src/app/main.tsx","./src/data/staticdata.ts","./src/features/admin/index.ts","./src/features/admin/components/adminlogin.tsx","./src/features/admin/components/promoteeventform.tsx","./src/features/admin/hooks/useeventpromotion.ts","./src/features/admin/pages/adminpage.tsx","./src/features/admin/types/promotion.ts","./src/features/auth/index.ts","./src/features/auth/components/emailverification.tsx","./src/features/auth/pages/authpage.tsx","./src/features/auth/pages/dashboardpage.tsx","./src/features/auth/pages/verifyemailpage.tsx","./src/features/auth/schemas/authschemas.ts","./src/features/clubs/index.ts","./src/features/clubs/components/clubsgrid.tsx","./src/features/clubs/hooks/useclubs.ts","./src/features/clubs/pages/clubspage.tsx","./src/features/clubs/types/clubs.ts","./src/features/events/index.ts","./src/features/events/components/eventlegend.tsx","./src/features/events/components/eventscalendar.tsx","./src/features/events/components/eventscontent.tsx","./src/features/events/components/eventsgrid.tsx","./src/features/events/components/quickfilters.tsx","./src/features/events/constants/events.ts","./src/features/events/hooks/useeventselection.ts","./src/features/events/hooks/useevents.ts","./src/features/events/hooks/usequickfilters.ts","./src/features/events/pages/eventdetailpage.tsx","./src/features/events/pages/eventspage.tsx","./src/features/events/types/events.ts","./src/features/newsletter/index.ts","./src/features/newsletter/components/unsubscribeform.tsx","./src/features/newsletter/hooks/usenewslettersubscribe.ts","./src/features/newsletter/hooks/useunsubscribe.ts","./src/features/newsletter/pages/unsubscribepage.tsx","./src/features/newsletter/types/newsletter.ts","./src/features/search/index.ts","./src/features/search/components/searchinput.tsx","./src/features/search/hooks/usesearchstate.ts","./src/features/search/types/search.ts","./src/shared/index.ts","./src/shared/api/auth.ts","./src/shared/components/protectedroute.tsx","./src/shared/components/seohead.tsx","./src/shared/components/common/floatingeventexportbar.tsx","./src/shared/components/layout/aboutpage.tsx","./src/shared/components/layout/contactpage.tsx","./src/shared/components/layout/footer.tsx","./src/shared/components/layout/githublink.tsx","./src/shared/components/layout/navbar.tsx","./src/shared/components/layout/notfoundpage.tsx","./src/shared/components/layout/topbanner.tsx","./src/shared/components/ui/badge-mask.tsx","./src/shared/components/ui/badge.tsx","./src/shared/components/ui/button-variants.ts","./src/shared/components/ui/button.tsx","./src/shared/components/ui/card.tsx","./src/shared/components/ui/filter-button.tsx","./src/shared/components/ui/form.tsx","./src/shared/components/ui/icon-button.tsx","./src/shared/components/ui/index.ts","./src/shared/components/ui/input.tsx","./src/shared/components/ui/label.tsx","./src/shared/components/ui/loading.tsx","./src/shared/components/ui/pagination.tsx","./src/shared/components/ui/select.tsx","./src/shared/components/ui/tabs.tsx","./src/shared/components/ui/textarea.tsx","./src/shared/components/ui/tooltip.tsx","./src/shared/components/ui/useformfield.ts","./src/shared/constants/api.ts","./src/shared/hooks/index.ts","./src/shared/hooks/useauth.ts","./src/shared/hooks/useauthredirect.ts","./src/shared/hooks/usecategoryparam.ts","./src/shared/hooks/usedocumenttitle.ts","./src/shared/hooks/usenavbar.ts","./src/shared/hooks/usetheme.ts","./src/shared/lib/clubtypecolors.ts","./src/shared/lib/dateutils.ts","./src/shared/lib/emojiutils.ts","./src/shared/lib/eventutils.ts","./src/shared/lib/theme.tsx","./src/shared/lib/utils.ts","./src/shared/stores/authstore.ts","./src/shared/types/common.ts"],"errors":true,"version":"5.8.3"}
1+
{"root":["./src/vite-env.d.ts","./src/app/app.tsx","./src/app/main.tsx","./src/data/staticdata.ts","./src/features/admin/index.ts","./src/features/admin/components/adminlogin.tsx","./src/features/admin/components/promoteeventform.tsx","./src/features/admin/hooks/useeventpromotion.ts","./src/features/admin/pages/adminpage.tsx","./src/features/admin/types/promotion.ts","./src/features/auth/index.ts","./src/features/auth/components/emailverification.tsx","./src/features/auth/pages/authpage.tsx","./src/features/auth/pages/dashboardpage.tsx","./src/features/auth/pages/verifyemailpage.tsx","./src/features/auth/schemas/authschemas.ts","./src/features/clubs/index.ts","./src/features/clubs/components/clubsgrid.tsx","./src/features/clubs/hooks/useclubs.ts","./src/features/clubs/pages/clubspage.tsx","./src/features/clubs/types/clubs.ts","./src/features/events/index.ts","./src/features/events/components/eventlegend.tsx","./src/features/events/components/eventscalendar.tsx","./src/features/events/components/eventscontent.tsx","./src/features/events/components/eventsgrid.tsx","./src/features/events/components/quickfilters.tsx","./src/features/events/constants/events.ts","./src/features/events/hooks/useeventselection.ts","./src/features/events/hooks/useevents.ts","./src/features/events/hooks/usequickfilters.ts","./src/features/events/pages/eventdetailpage.tsx","./src/features/events/pages/eventspage.tsx","./src/features/events/types/events.ts","./src/features/newsletter/index.ts","./src/features/newsletter/components/unsubscribeform.tsx","./src/features/newsletter/hooks/usenewslettersubscribe.ts","./src/features/newsletter/hooks/useunsubscribe.ts","./src/features/newsletter/pages/unsubscribepage.tsx","./src/features/newsletter/types/newsletter.ts","./src/features/search/index.ts","./src/features/search/components/searchinput.tsx","./src/features/search/hooks/usesearchstate.ts","./src/features/search/types/search.ts","./src/shared/index.ts","./src/shared/api/auth.ts","./src/shared/components/protectedroute.tsx","./src/shared/components/seohead.tsx","./src/shared/components/common/floatingeventexportbar.tsx","./src/shared/components/layout/aboutpage.tsx","./src/shared/components/layout/contactpage.tsx","./src/shared/components/layout/footer.tsx","./src/shared/components/layout/githublink.tsx","./src/shared/components/layout/navbar.tsx","./src/shared/components/layout/notfoundpage.tsx","./src/shared/components/layout/topbanner.tsx","./src/shared/components/ui/badge-mask.tsx","./src/shared/components/ui/badge.tsx","./src/shared/components/ui/button-variants.ts","./src/shared/components/ui/button.tsx","./src/shared/components/ui/card.tsx","./src/shared/components/ui/filter-button.tsx","./src/shared/components/ui/form.tsx","./src/shared/components/ui/icon-button.tsx","./src/shared/components/ui/index.ts","./src/shared/components/ui/input.tsx","./src/shared/components/ui/label.tsx","./src/shared/components/ui/loading.tsx","./src/shared/components/ui/pagination.tsx","./src/shared/components/ui/select.tsx","./src/shared/components/ui/tabs.tsx","./src/shared/components/ui/textarea.tsx","./src/shared/components/ui/tooltip.tsx","./src/shared/components/ui/useformfield.ts","./src/shared/constants/api.ts","./src/shared/hooks/index.ts","./src/shared/hooks/useauth.ts","./src/shared/hooks/useauthredirect.ts","./src/shared/hooks/usecategoryparam.ts","./src/shared/hooks/usedocumenttitle.ts","./src/shared/hooks/usenavbar.ts","./src/shared/hooks/usetheme.ts","./src/shared/lib/clubtypecolors.ts","./src/shared/lib/dateutils.ts","./src/shared/lib/emojiutils.ts","./src/shared/lib/eventutils.ts","./src/shared/lib/theme.tsx","./src/shared/lib/utils.ts","./src/shared/stores/authstore.ts","./src/shared/types/common.ts"],"version":"5.8.3"}

0 commit comments

Comments
 (0)