Skip to content

cleanup opportunities todos and fixmes

github-actions[bot] edited this page Jun 19, 2026 · 1 revision

TODOs and FIXMEs

The 360Ghar backend has only two TODO comments across all of app/. This is well below average for a codebase of 67,000 lines. Both are documented below with their context.

Active contributors: Saksham, Ravi

TODO 1: Email integration for data hub alerts

File: app/services/data_hub/alerts.py, line 113

# TODO: integrate with email service when EMAIL_SMTP_HOST is configured

The data hub alert system (AuctionAlert model) currently stores alerts in the database but does not email them to subscribed users. The notification dispatcher (app/services/notification_dispatcher.py) and email service (app/services/email.py) already exist and support email as a channel - the alert flow just has not been wired into them yet. The EMAIL_SMTP_HOST setting gates email delivery, so the integration should no-op when SMTP is not configured.

Effort: Small. Call dispatch_notification_to_user from the alert creation path with a new auction_alert notification type registered in app/services/notification_config.py.

TODO 2: Property recommendation algorithm

File: app/services/property/recommendations.py, line 64

# TODO: Implement proper recommendation algorithm based on user preferences

The recommendations endpoint currently returns a heuristic-based feed (recently added, popular, geographically close) rather than a personalized ranking. The User.preferences JSON column and the property_embeddings table (pgvector) are available for a proper implementation - the embedding similarity could power a content-based recommender, and the swipe history (UserSwipe) could power a collaborative filter.

Effort: Medium. A content-based recommender using pgvector cosine similarity against the user's liked-property embeddings is the natural first step. The vector sync scheduler (app/services/vector_sync_scheduler.py) already keeps embeddings fresh.

Why there are so few TODOs

The codebase uses AI-assisted development heavily (single primary contributor using AI tooling, per the git history). This tends to produce complete implementations rather than stubbed ones - the AI completes the task in one pass rather than leaving a TODO for later. The two remaining TODOs are both "feature not yet built" rather than "code quality debt".

Clone this wiki locally