{"id":29460689,"url":"https://github.com/vero-code/world-sync-ai","last_synced_at":"2026-04-10T13:32:17.149Z","repository":{"id":274218994,"uuid":"912865321","full_name":"vero-code/world-sync-ai","owner":"vero-code","description":"AI-powered MLB dashboard with Google Cloud AI (Gemini), Google Calendar integration, and real-time MLB stats.","archived":false,"fork":false,"pushed_at":"2025-02-04T21:56:44.000Z","size":385,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-06T08:13:49.055Z","etag":null,"topics":["ai","chatbot","firebase","gemini","google-calendar","google-cloud","java","react","spring-boot","typescript","vertex-ai"],"latest_commit_sha":null,"homepage":"https://devpost.com/software/project-fmbe1id7r0o2","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/vero-code.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}},"created_at":"2025-01-06T14:54:31.000Z","updated_at":"2025-02-04T21:59:05.000Z","dependencies_parsed_at":"2025-03-31T10:30:55.065Z","dependency_job_id":null,"html_url":"https://github.com/vero-code/world-sync-ai","commit_stats":null,"previous_names":["vero-git-hub/world-sync-ai","vero-code/world-sync-ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vero-code/world-sync-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fworld-sync-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fworld-sync-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fworld-sync-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fworld-sync-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vero-code","download_url":"https://codeload.github.com/vero-code/world-sync-ai/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fworld-sync-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31645284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","chatbot","firebase","gemini","google-calendar","google-cloud","java","react","spring-boot","typescript","vertex-ai"],"created_at":"2025-07-14T02:30:50.092Z","updated_at":"2026-04-10T13:32:17.122Z","avatar_url":"https://github.com/vero-code.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# World Sync AI:\n\nWorld Sync AI is a cloud-powered web application that integrates the capabilities of Google Cloud AI (Gemini, Vertex AI), MLB API, Google Calendar API, and Spring to provide a personalized experience for baseball fans.\n\nThe project was developed for the [\"Google Cloud x MLB(TM) Hackathon – Building with Gemini Models\"](https://devpost.com/software/project-fmbe1id7r0o2) hackathon to demonstrate the potential of Google Cloud AI in enhancing fan engagement and delivering personalized event planning.\n\n## Technologies\n\n🔹 **Google Cloud API:**\n\n* **Google Calendar API** (authentication, match event management).\n\n* **Vertex AI API (Gemini)** (intent analysis, generating contextual responses in AI chat).\n\n* **Google AI Studio** (training and explanations in MLB Trivia).\n\n🔹 **MLB API:**\n\n* MLB Stats API (team data, schedules, players).\n\n* Real-time data retrieval for teams, matches, and players.\n\n🔹 **Backend:**\n\n* **Java 23.0.1**, **Spring Boot 3.4.1 + Spring Security** (OAuth2), **Maven 3.9.9**.\n\n* **Cloud SQL**, PostgreSQL (temporary storage for users, favorite teams, access tokens).\n\n* **Google Secret Manager** (secure storage of API keys and credentialst).\n\n🔹 **Frontend:**\n\n* **React + TypeScript** (Vite 6.0.7, SPA).\n\n* **State management \u0026 UI components** (interactive SPA experience).\n\n\n🔹 **Deployment \u0026 Infrastructure:**\n\n* **Google Cloud Run** (auto-scalable backend hosting).\n\n* **Firebase Hosting** (frontend deployment).\n\n🔹 **Tools:**\n\n* IntelliJ IDEA Ultimate.\n\n* Postman.\n\n## Features\n\n### Authentication\n\n* Login via login page (JWT token).\n\n* User registration: saving to Cloud SQL (email, password, username, access/refresh tokens Google OAuth2).\n\n* Connection to Google Calendar API via Google account login.\n\n## Dashboard (Main Page)\nThe main page consists of several widgets:\n\n1️⃣ **MLB Trivia (Gemini, Google AI Studio)**\n\n- Trivia game based on MLB API ([Stats API](https://github.com/MajorLeagueBaseball/google-cloud-mlb-hackathon)).\n\n- Generation of random questions and answers about team foundation years.\n\n- **Gemini AI analyzes responses** and explains user mistakes.\n\n2️⃣ **MLB AI Chat (Gemini, Vertex AI)**\n\n- **User query intent detection** using **Gemini AI**.\n\n- If the query is about a **team's schedule**, the chatbot retrieves data via MLB API:\n\n    * Gets teamId from https://statsapi.mlb.com/api/v1/teams?sportId=1.\n\n    * Requests the schedule from https://statsapi.mlb.com/api/v1/schedule?sportId=1\u0026season=2025\u0026gameType=R\u0026teamId={teamId}.\n\n- **Forms context** (original query + MLB API data) and **generates a response with Gemini**.\n\n3️⃣ **Profile (User Profile)**\n\n- User data from the database (name, email, favorite teams).\n\n- Modify favorite teams (saved in Cloud SQL).\n\n- Access token verification for Google Calendar API.\n\n4️⃣ **Schedule (Match Schedule)**\n\n- **Loaded from MLB API**: https://statsapi.mlb.com/api/v1/schedule?sportId=1\u0026season=2025\u0026gameType=R.\n\n- **Filtering features**:\n\n    * By date.\n\n    * By team.\n\n    * Reset filters.\n\n- **Pagination**.\n\n- **Display only user's favorite teams / toggle to show all teams**.\n\n- **Sorting by favorite teams** (button to modify favorite teams list).\n\n- **Match card**:\n\n    * Team logos.\n\n    * Match date.\n\n    * **Button to add to Google Calendar**.\n\n    * Clicking opens **team information, roster, and player details**.\n\n5️⃣ **Teams (MLB Teams)**\n\n- **Retrieve all teams from MLB API**: https://statsapi.mlb.com/api/v1/teams?sportId=1.\n\n- Team card:\n\n    * Logo, city, stadium.\n\n    * Clicking opens detailed team information:\n\n        * https://statsapi.mlb.com/api/v1/teams/{teamId}.\n\n        * Team roster: https://statsapi.mlb.com/api/v1/teams/{teamId}/roster?season=2025.\n\n        * Player details page: https://statsapi.mlb.com/api/v1/people/{playerId} (displays personal data: birthdate, age, weight, height, etc.).\n\n## Installation\n\n1️⃣ **Clone the repository**\n\n    git clone https://github.com/vero-git-hub/world-sync-ai\n    cd world-sync-ai\n\n2️⃣ **Set Up Google Cloud Secrets**\n\n1. Enable APIs → Vertex AI, Google Calendar API.\n2. Store credentials in Google Secret Manager.\n\n\n3️⃣ **Run Backend (Spring Boot)**\n\n    mvn spring-boot:run\n\n4️⃣ **Run Frontend (React + TypeScript)**\n\n\n    cd frontend\n    npm install\n    npm start\n\n5️⃣ **Check the App**\n\n## Contribution\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository.\n2. Create a feature branch:\n    ```\n    git checkout -b feature-name\n    ```\n3. Commit your changes:\n    ```\n    git commit -m \"Added new feature\"\n    ```\n4. Push your branch:\n    ```\n    git push origin feature-name\n    ```\n5. Open a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvero-code%2Fworld-sync-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvero-code%2Fworld-sync-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvero-code%2Fworld-sync-ai/lists"}