{"id":30228497,"url":"https://github.com/kalbarczykdev/sports-manager","last_synced_at":"2026-05-06T01:37:53.590Z","repository":{"id":306786972,"uuid":"977515769","full_name":"KalbarczykDev/sports-manager","owner":"KalbarczykDev","description":"CRUD application for managing sports events and competitors made with Spring Boot and Thymeleaf template engine.","archived":false,"fork":false,"pushed_at":"2025-09-25T07:15:19.000Z","size":1614,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T09:15:15.907Z","etag":null,"topics":["bootstrap","bootstrap5","java","junit","mysql","spring","spring-boot","thymeleaf"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KalbarczykDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-04T11:42:16.000Z","updated_at":"2025-09-25T07:15:22.000Z","dependencies_parsed_at":"2025-08-14T19:56:21.623Z","dependency_job_id":"bcc92cb8-32a7-4838-b019-0402b9a598c1","html_url":"https://github.com/KalbarczykDev/sports-manager","commit_stats":null,"previous_names":["kalbarczykdev/sportsmanager","kalbarczykdev/sports-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KalbarczykDev/sports-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KalbarczykDev%2Fsports-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KalbarczykDev%2Fsports-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KalbarczykDev%2Fsports-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KalbarczykDev%2Fsports-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KalbarczykDev","download_url":"https://codeload.github.com/KalbarczykDev/sports-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KalbarczykDev%2Fsports-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006356,"owners_count":26084087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","bootstrap5","java","junit","mysql","spring","spring-boot","thymeleaf"],"created_at":"2025-08-14T19:54:48.306Z","updated_at":"2025-10-11T05:43:57.999Z","avatar_url":"https://github.com/KalbarczykDev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sports Manager\n\nThis is a portfolio application originally created for the  \n**Information Systems Modeling (MAS)** course at the **Polish-Japanese Academy of Information Technology (PJATK)**.\nYou can view the original version of the code before the _\"migrate to Spring Boot\"_ commit.\n\nSports Manager is a **CRUD application** designed to simulate a real-world system that could be used\nby organizations like the **International Olympic Committee (IOC)** to manage competitors, competitions, and coaches\nassigned to competitors.\n\n## Table of Contents\n\n- [Requirements](#requirements)\n- [Installation/Running](#installationrunning)\n- [Usage](#usage)\n- [Documentation](#documentation)\n    - [UI](#ui)\n    - [Diagrams](#diagrams)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Requirements\n\n- Java 21+\n- Maven 3.6+\n- MySQL database server\n\n## Installation/Running\n\n* Clone the repository:\n\n```bash\ngit clone https://github.com/KalbarczykDev/sports-manager\n```\n\n* Configure the database connection in `src/main/resources/application.yaml`:\n\n```yaml \nspring:\n  datasource:\n    url: jdbc:mysql://localhost:3306/sports_manager?createDatabaseIfNotExist=True\n    username: root\n    password: yourPassword \n```\n\n* Apply flyway migrations\n\n```bash\n./mvnw flyway:migrate\n```\n\n* Run application using maven\n\n```bash\n./mvnw spring-boot:run\n  ```\n\n## Usage\n\n- Start the application and open: `http://localhost:8080` in your favourite browser.\n\n- By default, the application will generate sample data you can change it in `application.yaml`\n\n ````yaml\nsportsmanager:\n  seeder:\n    count: 100\n````\n\n### Example Workflows\n\n**Add a Competitor**\n\n- Navigate to the \"Competitors\" section (`/competitors`).\n- Click **Add Competitor** and fill in Name, Surname, Country, Discipline, and Salary.\n- Click **Save** to persist the competitor in the database.\n\n**Assign a Coach to a Competitor**\n\n- Open a competitor’s detail page (`/competitors/{id}`).\n- Select an available coach from the **Add Coach** dropdown.\n- Click **Add Coach**.\n- The coach will appear in the competitor’s **Coaches** list. Already assigned coaches are excluded from the dropdown.\n\n**Assign a Competition to a Competitor**\n\n- Open a competitor’s detail page (`/competitors/{id}`).\n- Select an available competition from the **Add Competition** dropdown.\n- Click **Add Competition**.\n- The competition will appear in the competitor’s **Competitions** list. Already assigned competitions are excluded.\n\n**Remove a Coach or Competition**\n\n- On a competitor’s detail page, click the **Remove** button next to listed coach or competition.\n- The selected relation is removed from the competitor.\n\n**Delete Coach, Competitor or Competition**\n\n- Navigate to the list view (`/coaches`, `/competitors` or `/competitions`).\n- Click the **Delete** button next to an entity.\n- Confirm deletion in the modal.\n- The entity is permanently removed from the system.\n\n## Documentation\n\n### UI\n\n* Home View\n\n  ![Home View](images/home.png)\n\n* Login View\n\n  ![Login View](images/login.png)\n\n* Entity List View\n\n  ![Entity List](images/entity-list.png)\n\n* Entity Details View\n\n  ![Entity Details](images/entity-details.png)\n\n* Entity Form View\n\n  ![Entity Form](images/entity-form.png)\n\n### Diagrams\n\n* Entity-Relation Diagram\n\n  ![ER Diagram](images/er-diagram.png)\n\n* Class Diagram\n\n  ![Class Diagram](./images/class-diagram.png)\n\n## Contributing\n\nThis is a portfolio project, so I do not expect external pull requests.\nHowever, if you spot any bugs or have ideas for improvements, feel free to open an issue or reach out.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalbarczykdev%2Fsports-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkalbarczykdev%2Fsports-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalbarczykdev%2Fsports-manager/lists"}