Skip to content

raymondcsirak/sunlight-tennis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sunlight Tennis Club Platform

A modern, full-stack tennis club management platform built with Next.js, Supabase, and TypeScript.

🎾 Features

Court Management

  • Real-time court availability tracking
  • Easy booking system with calendar integration
  • Indoor and outdoor court distinction
  • Court maintenance schedule tracking

Player Experience

  • Match Finding System

    • Create and respond to match requests
    • Skill-based matchmaking
    • Flexible scheduling options
    • Real-time match status updates
  • Experience Points (XP) System

    • Progressive level system (Level 1-10)
    • Multiple XP earning activities
    • Activity streaks and multipliers
    • Special event bonuses
  • Achievement System

    • Tiered achievements (Bronze to Platinum)
    • Match-based accomplishments
    • Training milestones
    • Special event achievements

Social Features

  • Player profiles with stats and history
  • Real-time messaging system
  • Match history tracking
  • Achievement showcase
  • Community engagement features

🛠 Technology Stack

  • Frontend

    • Next.js 15 (App Router)
    • TypeScript
    • Tailwind CSS
    • Shadcn UI Components
  • Backend

    • Supabase (Database & Authentication)
    • PostgreSQL with RLS policies
    • Real-time subscriptions

📦 Installation

  1. Clone the repository:
git clone https://github.com/raymondcsirak/sunlight-tennis.git
cd sunlight-tennis
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env.local
  1. Update the following variables in .env.local:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_SITE_URL=your_site_url
  1. Run the development server:
npm run dev
  1. Run the migrations:
npx supabase migration up
npx supabase db push

🚀 Deployment

The application can be deployed using Vercel:

npm run build

For production deployment, make sure to:

  1. Set up all environment variables in your hosting platform
  2. Configure the Supabase project for production
  3. Set up proper security rules and RLS policies

🔒 Security

  • Row Level Security (RLS) policies for data protection
  • Secure authentication flow
  • Protected API routes
  • Environment variable management
  • Data validation with Zod

📱 Mobile Support

  • Responsive design
  • Progressive Web App (PWA) capabilities
  • Mobile-optimized interfaces
  • Touch-friendly interactions

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the Apache 2.0 - see the LICENSE file for details.

🙏 Acknowledgments

📞 Contact

For any queries or support open a pull request or an issue.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published