{"id":26965771,"url":"https://github.com/jamesql/botify","last_synced_at":"2026-05-06T22:06:07.679Z","repository":{"id":284244879,"uuid":"954304948","full_name":"jamesql/Botify","owner":"jamesql","description":"Botify is a real-time chat room game where players must determine which participant is an AI.","archived":false,"fork":false,"pushed_at":"2025-03-31T07:31:47.000Z","size":51471,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"prod","last_synced_at":"2025-03-31T07:31:53.925Z","etag":null,"topics":["ai","react","redis","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesql.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-03-24T21:59:59.000Z","updated_at":"2025-03-31T07:14:08.000Z","dependencies_parsed_at":"2025-03-31T07:31:54.953Z","dependency_job_id":null,"html_url":"https://github.com/jamesql/Botify","commit_stats":null,"previous_names":["jamesql/aichatroom","jamesql/botify"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesql%2FBotify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesql%2FBotify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesql%2FBotify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesql%2FBotify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesql","download_url":"https://codeload.github.com/jamesql/Botify/tar.gz/refs/heads/prod","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246956916,"owners_count":20860534,"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":["ai","react","redis","typescript"],"created_at":"2025-04-03T07:33:07.204Z","updated_at":"2026-05-06T22:06:02.649Z","avatar_url":"https://github.com/jamesql.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Chat Room Game\n\n## Description\nThis is a real-time chat room game where players must determine which participant is an AI. The system is built using TypeScript with a React (Next.js) frontend, an Express API server, a WebSocket server, and a Redis server for state management and pub/sub.\n\n## Features\n- Real-time chat using WebSockets\n- AI-powered chatbot disguised as a human player\n- Multiplayer support with role-based interactions\n- Redis caching for fast game state management\n- Secure authentication with JWT\n\n## Tech Stack\n- **Frontend:** React with Next.js\n- **Backend API:** Express.js\n- **WebSockets:** ws (npm package)\n- **Database \u0026 State Management:** Redis\n\n## Installation\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/jamesql/AIChatRoom.git\n   cd ai-chat-room-game\n   ```\n2. Install dependencies in all directories:\n   ```sh\n   npm install\n   ```\n3. Start Redis server (if not running):\n   ```sh\n   redis-server\n   ```\n4. Start the API and WebSocket server:\n   ```sh\n   ts-node ./API\n   ts-node ./WS\n   ```\n5. Start react server:\n   ```sh\n   npx next dev\n   ```\n5. Open the app in your browser:\n   ```sh\n   http://localhost:3000\n   ```\n\n## API Endpoints\n- `POST /api/login` – Authenticate user\n- `POST /api/start-game` – Start a new game session\n- `GET /api/game-state` – Retrieve current game state\n- `POST /api/submit-guess` – Submit a guess for the AI player\n\n## License\nThis project is licensed under the GPU-3 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesql%2Fbotify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesql%2Fbotify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesql%2Fbotify/lists"}