README excerpt
##### 🇺🇦 Ukrainian version below 👇
***
# **Sports Club Management**
**Language**: Pharo Smalltalk
**Team Members**:
- Dariia Antoniyk - @drynaa7
- Bacho Mariya-Tereza - @teresabacho
- Halyna Haplyk - @halya-h
- Anna Pavlyk - @yareyaredaz33
## Project Description (English)
This project implements a system for managing sports clubs and athletes in Pharo. The main objective is to design classes for athletes, including tennis players and footballers, and a sports club that manages them. Each athlete is characterized by properties such as name, age, nationality, and earnings. Special attributes are included for tennis players and footballers.
### Key features:
- **Classes**:
- **Sportsperson**: Represents general athletes.
- **TennisPlayer**: Extends Sportsperson to include world ranking and prize money.
- **FootballPlayer**: Extends Sportsperson to include club, yearly contract, and goals scored (with each goal increasing income by 1%).
- **SportsClub**: Manages a collection of athletes, calculates their total earnings, and provides insights into the top performers.
- **Functionalities**:
- Adding new athletes to the club.
- Printing details of all athletes in the club.
- Finding the athlete with the highest income.
- Arithmetic operations to manipulate athlete data (e.g., increasing age).
- Storing and loading data to and from files or a simulated database.
The project also features a graphical user interface that allows the user to interact with the club and its athletes, add new athletes, and store or load data in various formats.
## Опис проєкту (українською)
Цей проєкт реалізує систему керування спортивними клубами та спортсменами в Pharo. Основна мета полягає в розробці класів для спортсменів, включаючи тенісистів та футболістів, і спортивного клубу, що керує ними. Кожен спортсмен характеризується такими властивостями, як прізвище, вік, громадянство та заробіток. Для тенісистів та футболістів додаються особливі атрибути.
### Основні функції:
- **Класи**:
- **Sportsperson**: Загальний клас для спортсменів.
- **TennisPlayer**: Спеціалізація для тенісистів із додатковими атрибутами рейтингу та призових.
- **FootballPlayer**: Спеціалізація для футболістів із додатковими атрибутами клубу, річного контракту та кількості забитих голів (кожен гол збільшує дохід на 1%).
- **SportsClub**: Керує колекцією спортсменів, обчислює їх сумарний дохід та надає інформацію про найкращих спортсменів.
- **Функціонал**:
- Додавання нових спортсменів до клубу.
- Виведення інформації про всіх спортсменів клубу.
- Пошук спортсмена з найбільшим прибутком.
- Арифметичні операції для маніпуляцій з даними спортсменів (наприклад, збільшення віку).
- Зберігання та завантаження даних з файлів або імітованої бази даних.
Проєкт також включає графічний інтерфейс, що дозволяє взаємодіяти з клубом і його спортсменами, додавати нових спортсменів і зберігати або завантажувати дані у різних форматах.