{"id":30641156,"url":"https://github.com/marshallvoid/fconline","last_synced_at":"2025-08-31T01:39:31.547Z","repository":{"id":308577379,"uuid":"1033172698","full_name":"marshallvoid/fconline","owner":"marshallvoid","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-21T07:53:41.000Z","size":2781,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-21T09:43:33.929Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/marshallvoid.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}},"created_at":"2025-08-06T12:06:35.000Z","updated_at":"2025-08-21T08:32:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"5cfc5eb5-06b5-4441-bdab-15a35367a548","html_url":"https://github.com/marshallvoid/fconline","commit_stats":null,"previous_names":["marshallvoid/fc-online-tool","marshallvoid/fconline"],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/marshallvoid/fconline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshallvoid%2Ffconline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshallvoid%2Ffconline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshallvoid%2Ffconline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshallvoid%2Ffconline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marshallvoid","download_url":"https://codeload.github.com/marshallvoid/fconline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshallvoid%2Ffconline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272930000,"owners_count":25017057,"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-08-30T02:00:09.474Z","response_time":77,"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":[],"created_at":"2025-08-31T01:39:30.985Z","updated_at":"2025-08-31T01:39:31.536Z","avatar_url":"https://github.com/marshallvoid.png","language":"Python","readme":"# FC Online Automation Tool\n\nA Python-based automation tool for FC Online events featuring a modern GUI interface and intelligent browser automation with anti-detection capabilities.\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n-  **Python 3.12+** (required)\n-  **Chrome/Chromium browser** (for browser automation)\n-  **uv** package manager (recommended) or pip\n\n### Installation\n\n#### Using uv (Recommended)\n\n```bash\n# Clone the repository\ngit clone \u003crepository-url\u003e\ncd fconline\n\n# Install dependencies\nuv sync\n\n# Install development dependencies (optional)\nuv sync --group dev\n\n# Install Playwright browsers (required)\nuv run playwright install chromium\n\n# Setup pre-commit hooks (optional)\nuv run pre-commit install\n```\n\n#### Using pip\n\n```bash\n# Clone the repository\ngit clone \u003crepository-url\u003e\ncd fc-online\n\n# Install dependencies\npip install -e .\n\n# Install Playwright browsers (required)\nplaywright install chromium\n```\n\n### Running the Application\n\n#### GUI Application\n\n```bash\n# Recommended entry point\nuv run python manage.py\n\n# Alternative entry point\nuv run python src/main.py\n```\n\n## ⚙️ Configuration\n\n### Event Configuration\n\nAll event configurations are defined in `src/utils/contants.py` and can be customized for different events or updated selectors.\n\n## 🔧 Development\n\n### Development Setup\n\n```bash\n# Install all development dependencies\nuv sync --group dev\n\n# Install pre-commit hooks\nuv run pre-commit install\n```\n\n### Code Quality Tools\n\n```bash\n# Code formatting\nuv run black src/\nuv run ruff format\n\n# Linting\nuv run ruff check src/\nuv run flake8 src/\n\n# Type checking\nuv run mypy src/\n\n# Import sorting\nuv run isort src/\n\n# Run all pre-commit hooks\nuv run pre-commit run --all-files\n```\n\n## 📦 Building\n\n### Quick Build\n\n```bash\n# Linux/macOS\n./build.sh\n\n# Windows\nbuild.bat\n```\n\n### Manual Build\n\n```bash\n# Install build dependencies\nuv sync --group build\n\n# Create executable\nuv run pyinstaller build.spec\n\n# Clean build artifacts (optional)\nrm -rf build/ dist/ __pycache__/ src/__pycache__/ src/*/__pycache__/ src/*/*/__pycache__/\n```\n\nThe build process creates a standalone executable with embedded Python runtime and all dependencies.\n\n## 🐛 Troubleshooting\n\n### Common Issues\n\n1. **Import Errors**\n\n   ```bash\n   # Ensure all dependencies are installed\n   uv sync\n   uv run playwright install chromium\n   ```\n\n2. **Browser Not Found**\n\n   -  Install Chrome or Chromium browser\n   -  The tool automatically detects browser installation paths\n\n3. **Login Issues**\n\n   -  Verify your FC Online credentials\n   -  Check if captcha verification is required (tool will wait automatically)\n   -  Ensure stable internet connection\n\n4. **Build Issues**\n   ```bash\n   # Clean and rebuild\n   rm -rf build/ dist/\n   uv run pyinstaller build.spec\n   ```\n\n### Logging\n\n-  Application logs are managed by Loguru with rotating file handlers\n-  Error logs are saved to `app_error.log` for debugging\n-  Activity logs are displayed in real-time within the GUI\n\n## 📄 License\n\nThis project is intended for educational and personal use only. Please ensure compliance with FC Online's terms of service and use responsibly.\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Install development dependencies (`uv sync --group dev`)\n4. Make your changes following the code standards\n5. Commit your changes (`git commit -m 'Add amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n## 📞 Support\n\nFor issues, questions, or contributions, please:\n\n1. Check the troubleshooting section above\n2. Review existing issues in the repository\n3. Create a new issue with detailed information about your problem\n\n---\n\n**⚠️ Disclaimer**: This tool is for educational purposes only. Users are responsible for ensuring compliance with FC Online's terms of service and applicable laws.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarshallvoid%2Ffconline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarshallvoid%2Ffconline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarshallvoid%2Ffconline/lists"}