Skip to content

nadas17/FootballMatchOrganizer

Repository files navigation

Pitch Masters Elite Football Club - Web Application

A professional web application for organizing football matches with real-time features, weather integration, and Google Maps support for the premier football community.

🚀 Features

  • Match Creation: Create professional football matches with detailed information
  • Elite Team Management: Organize skilled players into competitive teams
  • Request System: Exclusive join requests with approval workflow
  • Real-time Updates: Live notifications for match organizers
  • Weather Integration: Current weather conditions for match locations
  • Google Maps: Interactive maps for premium match venues
  • Responsive Design: Mobile-first responsive UI
  • Modern UI: Professional glass-morphism design with animations

🛠️ Tech Stack

  • Frontend: React 18, TypeScript, Tailwind CSS
  • UI Components: Shadcn/UI, Radix UI
  • Backend: Supabase (PostgreSQL, Real-time subscriptions)
  • APIs: OpenWeatherMap, Google Maps
  • Build Tool: Vite
  • Deployment: Ready for Vercel/Netlify

🔧 Setup & Installation

Prerequisites

  • Node.js 18+ and npm
  • Supabase account
  • OpenWeatherMap API key
  • Google Maps API key

Environment Variables

Create .env.local file:

VITE_OPENWEATHER_API_KEY=your_openweather_api_key
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key

Installation

# Clone repository
git clone [repository-url]
cd WEB-app-Football-Organizer-interaction

# Install dependencies
npm install

# Start development server
npm run dev

Database Setup

The application uses Supabase with these tables:

  • matches - Match information
  • match_participants - Approved participants
  • match_requests - Join requests

📱 Usage

For Match Organizers

  1. Click "Create a match event"
  2. Fill in match details (title, date, time, location)
  3. Set maximum players and entry requirements
  4. Manage join requests in the management panel
  5. Approve/reject participants based on skill level

For Club Members

  1. Browse available elite matches
  2. Click "Request to Join"
  3. Select preferred team (A/B) and position
  4. Wait for organizer approval
  5. Check match details and weather conditions

🔒 Security Features

  • Input validation and sanitization
  • SQL injection prevention
  • XSS protection
  • Environment variable usage for API keys
  • Error handling and logging

🚀 Performance Optimizations

  • Code splitting and lazy loading
  • Image optimization
  • Caching strategies
  • Real-time subscriptions
  • Responsive design

📊 Architecture

src/
├── components/          # React components
├── pages/              # Page components
├── types/              # TypeScript definitions
├── utils/              # Utility functions
├── integrations/       # Supabase integration
└── lib/                # Shared libraries

🤝 Contributing

  1. Fork the repository
  2. Create feature branch
  3. Follow code style guidelines
  4. Add tests for new features
  5. Submit pull request

📄 License

This project is licensed under the MIT License.

🐛 Known Issues

  • Weather service fallback needed
  • Mobile map interaction improvements
  • Offline functionality

🔮 Future Enhancements

  • Premium membership system
  • Player rating and statistics
  • Tournament organization
  • Skill-based matchmaking
  • Professional coaching integration
  • League management system

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •