2026-01-31 15:23:18 +05:30
|
|
|
// lib/core/api/api_endpoints.dart
|
|
|
|
|
class ApiEndpoints {
|
|
|
|
|
// Change this to your desired backend base URL (local or UAT)
|
|
|
|
|
// For local Django dev use: "http://127.0.0.1:8000/api"
|
|
|
|
|
// For UAT: "https://uat.eventifyplus.com/api"
|
2026-03-30 10:05:23 +05:30
|
|
|
static const String baseUrl = "https://em.eventifyplus.com/api";
|
|
|
|
|
|
|
|
|
|
/// Base URL for media files (images, icons uploaded via Django admin).
|
|
|
|
|
/// Relative paths like `/media/...` are resolved against this.
|
|
|
|
|
static const String mediaBaseUrl = "https://em.eventifyplus.com";
|
2026-01-31 15:23:18 +05:30
|
|
|
|
|
|
|
|
// Auth
|
|
|
|
|
static const String register = "$baseUrl/user/register/";
|
|
|
|
|
static const String login = "$baseUrl/user/login/";
|
|
|
|
|
static const String logout = "$baseUrl/user/logout/";
|
|
|
|
|
static const String status = "$baseUrl/user/status/";
|
2026-04-08 21:12:49 +05:30
|
|
|
static const String updateProfile = "$baseUrl/user/update-profile/";
|
2026-01-31 15:23:18 +05:30
|
|
|
|
|
|
|
|
// Events
|
|
|
|
|
static const String eventTypes = "$baseUrl/events/type-list/"; // list of event types
|
|
|
|
|
static const String eventsByPincode = "$baseUrl/events/pincode-events/"; // pincode-events
|
|
|
|
|
static const String eventDetails = "$baseUrl/events/event-details/"; // event-details
|
|
|
|
|
static const String eventImages = "$baseUrl/events/event-images/"; // event-images
|
|
|
|
|
static const String eventsByCategory = "$baseUrl/events/events-by-category/";
|
|
|
|
|
static const String eventsByMonth = "$baseUrl/events/events-by-month-year/";
|
2026-04-08 21:12:49 +05:30
|
|
|
static const String featuredEvents = "$baseUrl/events/featured-events/";
|
|
|
|
|
static const String topEvents = "$baseUrl/events/top-events/";
|
2026-01-31 15:23:18 +05:30
|
|
|
|
|
|
|
|
// Bookings
|
|
|
|
|
// static const String bookEvent = "$baseUrl/events/book-event/";
|
|
|
|
|
// static const String userSuccessBookings = "$baseUrl/events/event/user-success-bookings/";
|
|
|
|
|
// static const String userCancelledBookings = "$baseUrl/events/event/user-cancelled-bookings/";
|
release: bump version to 1.4(p) (versionCode 14)
- Update versionCode 12 → 14, versionName 1.3(p) → 1.4(p)
- Update pubspec.yaml version to 1.4.0+14
- Add CHANGELOG.md with full version history
- Update README.md: version badge + changelog section
- Desktop Contribute Dashboard rebuilt to match web version
- Contributor Dashboard title, 3-tab nav (Contribute/Leaderboard/Achievements)
- Two-column submit form, tier milestone progress bar
- Desktop leaderboard with podium, filters, rank table (green points)
- Desktop achievements 3-column badge grid
- Inline Reward Shop with RP balance
- Gamification feature module (EP, RP, leaderboard, achievements, shop)
- Profile screen redesigned to match web app layout with animations
- Home screen bottom sheet date filter chips
- Updated API endpoints, login/event detail screens, theme colors
- Added Gilroy font suite, responsive layout improvements
2026-03-18 11:10:56 +05:30
|
|
|
|
feat: add complete review/rating system for events
New feature: Users can view, submit, and interact with event reviews.
Components added:
- ReviewModel, ReviewStatsModel, ReviewListResponse (models)
- ReviewService with getReviews, submitReview, markHelpful, flagReview
- StarRatingInput (interactive 5-star picker with labels)
- StarDisplay (read-only fractional star display)
- ReviewSummary (average rating + distribution bars)
- ReviewForm (star picker + comment field + submit/update)
- ReviewCard (avatar, timestamp, expandable comment, helpful/flag)
- ReviewSection (main container with pagination and state mgmt)
Integration:
- Added to LearnMoreScreen (both mobile and desktop layouts)
- Review API endpoints point to app.eventifyplus.com Node.js backend
- EventModel updated with averageRating/reviewCount fields
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:04:37 +05:30
|
|
|
// Reviews (served by Node.js backend via app.eventifyplus.com)
|
|
|
|
|
static const String _reviewBase = "https://app.eventifyplus.com/api/reviews";
|
|
|
|
|
static const String reviewSubmit = "$_reviewBase/submit";
|
|
|
|
|
static const String reviewList = "$_reviewBase/list";
|
|
|
|
|
static const String reviewHelpful = "$_reviewBase/helpful";
|
|
|
|
|
static const String reviewFlag = "$_reviewBase/flag";
|
|
|
|
|
|
feat: Phase 1 critical gaps — gamification API, Razorpay checkout, Google OAuth, notifications
- Fix gamification endpoints to use Node.js server (app.eventifyplus.com)
- Replace 6 mock gamification methods with real API calls (dashboard, leaderboard, shop, redeem, submit)
- Add booking models, service, payment service (Razorpay), checkout provider
- Add 3-step CheckoutScreen with Razorpay native modal integration
- Add Google OAuth login (Flutter + Django backend)
- Add full notifications system (Django model + 3 endpoints + Flutter UI)
- Register CheckoutProvider, NotificationProvider in main.dart MultiProvider
- Wire notification bell in HomeScreen app bar
- Add razorpay_flutter ^1.3.7 and google_sign_in ^6.2.2 packages
2026-04-04 15:46:53 +05:30
|
|
|
// Node.js gamification server (same host as reviews)
|
|
|
|
|
static const String _nodeBase = "https://app.eventifyplus.com/api";
|
|
|
|
|
|
2026-04-08 21:12:49 +05:30
|
|
|
// File upload (Node.js — routes to OneDrive or GDrive via STORAGE_BACKEND env)
|
|
|
|
|
static const String uploadFile = "$_nodeBase/v1/upload/file";
|
|
|
|
|
|
feat: Phase 1 critical gaps — gamification API, Razorpay checkout, Google OAuth, notifications
- Fix gamification endpoints to use Node.js server (app.eventifyplus.com)
- Replace 6 mock gamification methods with real API calls (dashboard, leaderboard, shop, redeem, submit)
- Add booking models, service, payment service (Razorpay), checkout provider
- Add 3-step CheckoutScreen with Razorpay native modal integration
- Add Google OAuth login (Flutter + Django backend)
- Add full notifications system (Django model + 3 endpoints + Flutter UI)
- Register CheckoutProvider, NotificationProvider in main.dart MultiProvider
- Wire notification bell in HomeScreen app bar
- Add razorpay_flutter ^1.3.7 and google_sign_in ^6.2.2 packages
2026-04-04 15:46:53 +05:30
|
|
|
// Gamification / Contributor Module
|
|
|
|
|
static const String gamificationDashboard = "$_nodeBase/v1/gamification/dashboard";
|
|
|
|
|
static const String leaderboard = "$_nodeBase/v1/gamification/leaderboard";
|
|
|
|
|
static const String shopItems = "$_nodeBase/v1/shop/items";
|
|
|
|
|
static const String shopRedeem = "$_nodeBase/v1/shop/redeem";
|
|
|
|
|
static const String contributeSubmit = "$_nodeBase/v1/gamification/submit-event";
|
|
|
|
|
static const String gradeContribution = "$_nodeBase/v1/admin/contributions/"; // append {id}/grade/
|
|
|
|
|
|
|
|
|
|
// Bookings
|
|
|
|
|
static const String ticketMetaList = "$baseUrl/bookings/ticket-meta/list/";
|
|
|
|
|
static const String cartAdd = "$baseUrl/bookings/cart/add/";
|
|
|
|
|
static const String checkout = "$baseUrl/bookings/checkout/";
|
|
|
|
|
static const String checkIn = "$baseUrl/bookings/check-in/";
|
|
|
|
|
|
|
|
|
|
// Auth - Google OAuth
|
|
|
|
|
static const String googleLogin = "$baseUrl/user/google-login/";
|
|
|
|
|
|
|
|
|
|
// Notifications
|
|
|
|
|
static const String notificationList = "$baseUrl/notifications/list/";
|
|
|
|
|
static const String notificationMarkRead = "$baseUrl/notifications/mark-read/";
|
2026-04-07 20:49:40 +05:30
|
|
|
static const String notificationCount = "$baseUrl/notifications/count";
|
2026-01-31 15:23:18 +05:30
|
|
|
}
|