{"id":25100601,"url":"https://github.com/antonioskalattas/automatic-gym-reservation","last_synced_at":"2025-04-02T05:42:33.740Z","repository":{"id":250111889,"uuid":"829525689","full_name":"AntoniosKalattas/Automatic-Gym-Reservation","owner":"AntoniosKalattas","description":"Automatic Gym Reservation","archived":false,"fork":false,"pushed_at":"2025-02-13T10:43:09.000Z","size":439,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T11:34:27.191Z","etag":null,"topics":["automation","chrome","gym","selenium","webdriver"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AntoniosKalattas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-07-16T15:53:43.000Z","updated_at":"2025-02-13T10:43:13.000Z","dependencies_parsed_at":"2025-02-01T22:27:40.987Z","dependency_job_id":"77b6de1a-dfa9-4724-94d3-f5a5c6a7a8a5","html_url":"https://github.com/AntoniosKalattas/Automatic-Gym-Reservation","commit_stats":{"total_commits":33,"total_committers":1,"mean_commits":33.0,"dds":0.0,"last_synced_commit":"c8cbed3d73bcbb4eb8850832e87c3fe0dedadf6f"},"previous_names":["antonioskalattas/ucygym_bot","antonioskalattas/automatic-gym-reservation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniosKalattas%2FAutomatic-Gym-Reservation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniosKalattas%2FAutomatic-Gym-Reservation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniosKalattas%2FAutomatic-Gym-Reservation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniosKalattas%2FAutomatic-Gym-Reservation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AntoniosKalattas","download_url":"https://codeload.github.com/AntoniosKalattas/Automatic-Gym-Reservation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246763844,"owners_count":20829798,"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","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":["automation","chrome","gym","selenium","webdriver"],"created_at":"2025-02-07T20:16:39.674Z","updated_at":"2025-04-02T05:42:33.728Z","avatar_url":"https://github.com/AntoniosKalattas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatic-Gym-Reservation\n\n\nAutomatic-Gym-Reservation is an automation tool for reserving gym sessions at my Uni. It uses Python and Selenium WebDriver to interact with the UCY gym reservation system, automating the entire booking process.\n\n## Features\n\n- **Automated Reservations**: Book gym sessions quickly without manual interaction.\n- **Cross-Platform Compatibility**: Works on Windows, macOS, and Linux systems with Python and Selenium.\n- **User-Friendly Setup**: Easily configurable through the provided scripts.\n\n## Prerequisites\n\n- [Python 3.x](https://www.python.org/downloads/)\n- [Google Chrome Browser](https://www.google.com/chrome/)\n- [ChromeDriver](https://sites.google.com/chromium.org/driver/) (compatible with your Chrome version)\n- [Electron](https://www.electronjs.org/) for additional GUI-based features\n\n## Installation\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https://github.com/AntoniosKalattas/UCYGYM_BOT.git\n   cd UCYGYM_BOT\n   ```\n\n2. **Install Dependencies**:\n\n   Use the `requirements.txt` file for Python dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n   Ensure Electron dependencies are installed via npm(Only for UI perposes):\n\n   ```bash\n   npm install\n   ```\n\n3. **Set Up ChromeDriver**:\n\n   - Download [ChromeDriver](https://googlechromelabs.github.io/chrome-for-testing/) for your OS.\n   - Place it in your system's PATH or specify its location in the script.\n   \n4. **Copy the path to chrome profile**:\n   \n   - enter `chrome://version` in chrome url\n   - copy the location of `profile path` inside the `chromeProfilePath.txt` file\n\n## Usage\n\n### Start with Electron (Optional)\n\nFor a GUI-based experience, launch the Electron app:\n\n```bash\nnpm start\n```\n\n## Files and Structure\n\n- **`autoReservation.py`**: Main script for automating reservations.\n- **`firstTime.py`**: Script for initial configuration.\n- **`package.json`**: Configuration file for Electron integration.\n- **`requirements.txt`**: Python dependencies for Selenium and other packages.\n\n## Troubleshooting\n\n- **Selenium Errors**: Ensure that ChromeDriver matches your Chrome browser version.\n- **Element Not Found**: Verify that the UCY reservation system hasn't changed its structure. Update the selectors in the scripts if necessary.\n- **Node.js Issues**: Ensure Node.js is installed to run Electron.\n\n# How to setup automatic reservation\n   - Choose the desired time of the reservation in `auto.py`\n   - In your LINUX server run the command\n```bash\nnohup python3 auto.py \u0026\n```\n     \n\n\n## Contributing\n\nContributions are welcome! Feel free to fork the repository, submit a pull request, or open an issue.\n\n## License\n\nThis project is licensed under the ISC License. See the `LICENSE` file for details.\n\n## Author\n\nCreated by [Antonios Kalattas](https://github.com/AntoniosKalattas).\n\n---\n![My Project Logo](https://github.com/AntoniosKalattas/UCYGYM_BOT/blob/main/img/mainScreen.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonioskalattas%2Fautomatic-gym-reservation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantonioskalattas%2Fautomatic-gym-reservation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonioskalattas%2Fautomatic-gym-reservation/lists"}