Barlassina Country Club Golf App: Project
Overview & Detailed Specification
This document consolidates requirements from the original project specification, user guide, and front-
end mock-up to provide a comprehensive hand-off package for developers. It covers the business
objectives, user personas, key features, user flows, technical architecture, data models, monetization
strategy, and roadmap.
1. Executive Summary
Barlassina Country Club (BCC) seeks a mobile-first web application to engage members through AI-
driven golf challenges, token-based betting, and real-world service redemptions. The initial MVP focuses
on simple player-versus-player challenges (e.g., Longest Drive, Closest to Pin), token economy, and in-
kind redemptions. Future phases will introduce AI suggestions, real-time tracking, social sharing, and
premium subscriptions.
2. Business Objectives
1. Increase Member Engagement: Create friendly competitions among BCC members.
2. Generate Revenue:
3. Token sales via Stripe integration.
4. Subscription fees for premium features.
5. Rake (3% commission) on all token-backed challenges.
6. Affiliate partnerships with Pro-Shop and sponsors.
7. Data Collection & Analytics: Gather performance metrics for personalized AI suggestions in
later phases.
3. Target Users & Personas
• Casual Golfer: Enjoys light-hearted wagers, seeks fun and social interaction.
• Competitive Member: Values accurate handicapping, detailed analytics, and higher-stakes
challenges.
• Club Administrator: Manages challenges, approvals, redemptions, and monitors revenue
metrics.
4. Core Features (MVP)
4.1 Authentication & Profile
• Email/password sign-up and login.
1
• Profile includes selected club (BCC), handicap, and token balance.
4.2 Token Economy
• Purchase token packages (100, 500, 1000 tokens) via Stripe.
• 1 token = €1.
• Tokens used to stake challenges and redeem services.
4.3 Player Challenges
• Challenge Types: Longest Drive, Closest to Pin.
• Stake: Players agree on token amount; system automatically calculates a 3% rake.
• Result Entry: Manual input with optional photo proof.
• Leaderboard: Weekly and all-time rankings based on tokens won.
4.4 In-Kind Redemption (Phase 1)
• Convert tokens into club services (Pro-Shop, Restaurant, Massage).
• Minimum thresholds: 15 tokens for Pro-Shop, 10 for Restaurant, 40 for Massage.
• Admin approval workflow and email notifications.
4.5 Admin Dashboard
• View and manage challenges, redemptions, rake earnings, and user subscriptions.
• Approve or reject redemption requests.
• Monitor token sales and rake revenue.
5. User Flows
5.1 Challenge Creation & Redemption
1. User selects challenge type and hole.
2. Sets stake (X tokens each); 3% rake deducted automatically.
3. Opponent accepts; both stakes held in escrow.
4. After play, winner submits result; system releases tokens minus rake.
5.2 Redeeming Services
1. User navigates to “Redeem Services.”
2. Chooses service and enters token quantity (≥ minimum).
3. Submits request; tokens deducted and request marked pending .
4. Admin approves; user receives email and redeems at clubhouse.
6. Technical Architecture
6.1 Tech Stack
• Frontend: Vue 3, Vite, Tailwind CSS; PWA-enabled.
• Backend: [Link], Express, Sequelize ORM.
2
• Database: PostgreSQL.
• Payments: Stripe for token purchases and subscription billing.
• Email: nodemailer + SMTP for notifications.
6.2 High-Level Diagram
[Browser PWA] ↔ [API Gateway/Express] ↔ [PostgreSQL]
│ │
└── Stripe (payments) └── SMTP (emails)
6.3 Deployment
• Frontend: Vercel or Netlify.
• Backend: Heroku, AWS Elastic Beanstalk, or Docker on AWS ECS.
• CI/CD: GitHub Actions for migrations, tests, and deploy triggers.
7. Data Model Summary
• users: id, email, password_hash, handicap, balance, created_at
• challenges: id, type, player_a, player_b, stake, rake_amount, status, created_at
• tokens_transactions: id, user_id, type (purchase, stake, win, redemption), amount, created_at
• redemption_items: id, name, description, cost_rate, unit_name, min_quantity, active
• redemption_requests: id, user_id, item_id, quantity, total_cost, note, status, created_at,
processed_at
• subscriptions: id, user_id, plan, status, stripe_id, start_date, end_date
8. Monetization Strategy
1. Token Sales: Direct purchase via Stripe (set margins if desired).
2. Rake on Challenges: Fixed 3% commission on token stakes.
3. Subscriptions:
4. Monthly Premium (€9.90/month, 2% rake)
5. Annual Premium (€99/year, 1.5% rake)
6. Affiliate & Sponsorship:
7. Sponsored challenges featuring partner logos.
8. Pro-Shop affiliate links and commission tracking.
9. Roadmap & Phases
Phase Features
1 Basic challenges, token economy, in-kind redemption, admin dashboard
2 AI-driven challenge suggestions, basic analytics, handicap balancing
3 Real-time tracking (GPS/sensors), automatic result verification, social sharing
3
Phase Features
Tournaments module, badge/achievement system, sponsorship marketplace, affiliate
4
sales API
Native mobile wrappers (Capacitor), push notifications, advanced ML-driven
5
personalization
10. Next Steps for Developer
1. Clone the repository and set up local environment variables.
2. Run migrations & seeders to initialize the database.
3. Implement redemption API and frontend using the Technical Documentation.
4. Integrate Stripe for tokens and subscriptions.
5. Deploy to staging for internal testing.
6. Iterate based on feedback before full production release.
Ready for hand-off: share this document with your development team to get started immediately.