A comprehensive Django-based web platform for managing cricket tournaments, team registrations, player management, and fan engagement. Built with modern web technologies to deliver an exceptional cricket community experience.
SixersClub is a full-featured cricket tournament management system that brings together team managers, players, and fans in a unified platform. The application supports multiple cricket formats (T20, ODI, Test) and provides role-based dashboards for different user types.
- Team Managers: Register and manage teams, add players, oversee team registrations
- Players: Individual registration, performance tracking, dashboard access with auto-generated Player IDs
- Fans: Follow teams, access news updates, view tournament information
- Support for multiple cricket formats (T20, ODI, Test)
- Tournament creation with registration deadlines and fees
- Detailed tournament pages with schedules and information
- Registration status tracking
- Team registration with player roster management
- Individual player registration for tournaments
- Unique player ID generation system
- Role-based player categorization (Batsman, Bowler, All-rounder)
- Article creation and management system
- Image upload support for articles
- Community-driven content sharing
- News categorization and display
- Responsive Bootstrap-based design
- Interactive dashboards for each user type
- Mobile-friendly interface
- Professional cricket-themed styling
- Django 5.1.1 - Web framework
- Python 3.12 - Programming language
- SQLite - Database (development)
- Pillow - Image processing
- HTML5/CSS3 - Markup and styling
- Bootstrap - Responsive framework
- JavaScript - Interactive elements
- Font Awesome - Icons
- python-dotenv - Environment variable management
- Django Admin - Administrative interface
Before setting up the project, ensure you have:
- Python 3.8+ installed
- pip package manager
- Git for version control
- Virtual environment support (recommended)
git clone https://github.com/venkideshVenu/SixersClub.git
cd SixersClubWindows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the root directory:
SECRET_KEY=your_django_secret_key_here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
# Email Configuration (Optional)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_HOST_USER=your_email@gmail.com
EMAIL_HOST_PASSWORD=your_app_password
DEFAULT_FROM_EMAIL=your_email@gmail.comGenerate a secret key:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"# Apply migrations
python manage.py migrate
# Create superuser account
python manage.py createsuperuser
# (Optional) Load sample data
python manage.py loaddata fixtures/sample_data.jsonpython manage.py collectstaticpython manage.py runserverVisit http://127.0.0.1:8000/ to access the application.
SixersClub/
├── accounts/ # User management & authentication
├── home/ # Homepage & static pages
├── tournaments/ # Tournament management
├── registrations/ # Team & player registrations
├── news/ # News & articles system
├── static/ # Static files (CSS, JS, images)
├── templates/ # HTML templates
└── media/ # User uploads
- CustomUser: Extended user model with role-based access
- User types: Team Manager, Player, Fan
- Auto-generated Player IDs for players
- Tournament: Tournament details with type, dates, fees
- Support for T20, ODI, and Test formats
- Registration deadline management
- TeamRegistration: Team-based tournament entries
- PlayerRegistration: Individual player entries
- Player validation and role management
- Article: News articles with image support
- Author attribution and timestamp tracking
- Register as a Team Manager
- Browse Tournaments and select desired tournament
- Register Team with team name and motto
- Add Players using their unique Player IDs
- Manage Team through the Team Manager Dashboard
- Register as a Player (auto-generates Player ID)
- Complete Profile with role and experience level
- Register for Tournaments individually
- Track Performance through Player Dashboard
- View Team Assignments and match schedules
- Register as a Fan
- Follow Tournaments and teams
- Read News and updates
- Access Fan Dashboard for latest information
- All authenticated users can create news articles
- Upload images for articles
- Share cricket-related content with the community
Access the Django admin at http://127.0.0.1:8000/admin/ with superuser credentials:
- User Management: View and manage all user accounts
- Tournament Administration: Create and manage tournaments
- Registration Oversight: Monitor team and player registrations
- Content Moderation: Manage news articles and content
SixersClub/
├── manage.py
├── requirements.txt
├── readme.md
├── db.sqlite3
├── .env
│
├── SixersClub/ # Main project settings
│ ├── __init__.py
│ ├── settings.py # Django settings
│ ├── urls.py # Main URL configuration
│ ├── wsgi.py
│ └── asgi.py
│
├── accounts/ # User management app
│ ├── models.py # CustomUser model
│ ├── views.py # Authentication views
│ ├── forms.py # User registration forms
│ ├── urls.py # Account URLs
│ └── admin.py
│
├── tournaments/ # Tournament management
│ ├── models.py # Tournament model
│ ├── views.py # Tournament views
│ ├── urls.py # Tournament URLs
│ └── admin.py
│
├── registrations/ # Registration system
│ ├── models.py # Registration models
│ ├── views.py # Registration views
│ ├── forms.py # Registration forms
│ └── urls.py
│
├── news/ # News/Articles system
│ ├── models.py # Article model
│ ├── views.py # News views
│ ├── forms.py # Article forms
│ └── urls.py
│
├── home/ # Homepage & static pages
│ ├── views.py # Home page views
│ ├── forms.py # Contact forms
│ └── urls.py
│
├── static/ # Static files
│ ├── home/css/ # Stylesheets
│ ├── home/js/ # JavaScript files
│ ├── home/images/ # Images
│ ├── accounts/images/ # Account-related images
│ ├── article_photos/ # Article images
│ └── tournaments_images/ # Tournament images
│
└── templates/ # HTML templates
├── home/ # Homepage templates
├── accounts/ # User account templates
├── tournaments/ # Tournament templates
├── registrations/ # Registration templates
└── news/ # News templates
/accounts/login/- User login/accounts/logout/- User logout/accounts/register/- User registration type selection/accounts/register/team_manager/- Team manager registration/accounts/register/player/- Player registration/accounts/register/fan/- Fan registration
/accounts/team_manager_dashboard/- Team manager dashboard/accounts/player_dashboard/- Player dashboard/accounts/fan_dashboard/- Fan dashboard
/tournaments/- Tournament list/tournaments/<int:pk>/- Tournament detail
/registrations/team_register/<int:tournament_id>/- Team registration/registrations/player_register/<int:tournament_id>/- Player registration
/news/- Article list/news/article/<int:article_id>/- Article detail/news/create/- Create article
- Modify CSS files in
static/home/css/ - Update Bootstrap components in templates
- Customize color schemes and fonts
- Edit HTML templates in
templates/directory - Extend base templates for consistent styling
- Add custom template tags as needed
- Extend models for additional functionality
- Create custom forms for enhanced user input
- Add new apps for specialized features
# Run all tests
python manage.py test
# Run specific app tests
python manage.py test accounts
python manage.py test tournaments
# Run with coverage
coverage run --source='.' manage.py test
coverage report- Set
DEBUG = Falsein settings.py - Configure proper database (PostgreSQL recommended)
- Set up static file serving
- Configure email backend
- Update
ALLOWED_HOSTS
SECRET_KEY=production_secret_key
DEBUG=False
DATABASE_URL=postgresql://user:password@localhost/dbname
ALLOWED_HOSTS=yourdomain.com,www.yourdomain.comWe welcome contributions to improve SixersClub! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PEP 8 style guidelines
- Write comprehensive tests for new features
- Update documentation as needed
- Use meaningful commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- Django Framework - Robust web development framework
- Bootstrap - Responsive CSS framework
- Font Awesome - Icon library
- Cricket Community - Inspiration and feedback
- Open Source Contributors - Various libraries and tools
For support, feature requests, or bug reports:
- GitHub Issues: Create an issue
- Email: Contact the development team
- Documentation: Refer to Django documentation for framework-specific questions
- v1.0.0 - Initial release with core functionality
- Features: User management, tournament system, registration, news system
- Django Version: 5.1.1
- Python Version: 3.12+
Built with ❤️ for the cricket community