This project is a command-line application for managing a fantasy football league. Users can sign up, manage teams, conduct player transactions, and track league standings. The application is developed in C++ with a focus on modularity and object-oriented principles.
-
User and Team Management
- Signup: Users can create a new fantasy team by providing a team name and password.
- Login: Users log into their teams and manage their squads.
- Logout: Users can securely log out of their sessions.
-
Player Transactions
- Buy/Sell Players: Manage player transfers with validation on player availability and budget constraints.
- Set Captain: Assign a captain to your team who earns extra points.
- View Budget: Check your remaining budget after transactions.
-
Team Management
- View Squad: Display your current team lineup, including player roles, points, and total team cost.
- Team of the Week: View the best performers of the week based on their scores.
-
League Management
- League Standings: Track the standings of all teams in the league.
- User Rankings: See how your team ranks against other users.
- Match Results: View the results of matches for each week.
The application uses several CSV files to store and retrieve data:
- premier_league.csv: Contains data on all players in the league, including price, score, goals, assists, and clean sheets.
- weeks_stats: A folder containing weekly performance stats for players.
data
├─── premier_league.csv
└─── weeks_stats
├─── week_1.csv
├─── week_2.csv
├─── week_3.csv
...
- C++ Compiler: A C++11 compatible compiler (e.g., g++) is required.
- Makefile: The project includes a Makefile for easy compilation.
-
Clone the repository:
git clone https://github.com/tahamajs/UT_Football_Fantesy_phase_2.git
-
Compile the code:
make
-
Run the application:
./bin/futballFantasy.out
-
Signup:
POST signup ? team_name <team_name> password <password>
-
Login:
POST login ? team_name <team_name> password <password>
-
Buy a Player:
POST buy_player ? name Virgil Van Dijk
-
View Squad:
GET squad ? fantasy_team Liverpool_Iran
-
View League Standings:
GET league_standings