{"id":13338292,"url":"https://github.com/wesngu28/rhodesapi","last_synced_at":"2025-03-11T09:30:41.728Z","repository":{"id":40428473,"uuid":"506731899","full_name":"wesngu28/rhodesapi","owner":"wesngu28","description":"API for Arknights","archived":false,"fork":false,"pushed_at":"2024-07-01T19:52:32.000Z","size":3854,"stargazers_count":36,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-07-30T20:55:36.396Z","etag":null,"topics":["api","arknights","fastify","gacha","game","node","node-js","nodejs","tower-defense","typescript","webscraping"],"latest_commit_sha":null,"homepage":"https://api.rhodesapi.com/api/","language":"TypeScript","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/wesngu28.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":"2022-06-23T17:27:27.000Z","updated_at":"2024-07-30T05:18:47.000Z","dependencies_parsed_at":"2023-11-07T00:25:31.928Z","dependency_job_id":"27564ca2-42fb-41bd-903f-e122a13582ce","html_url":"https://github.com/wesngu28/rhodesapi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesngu28%2Frhodesapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesngu28%2Frhodesapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesngu28%2Frhodesapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesngu28%2Frhodesapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wesngu28","download_url":"https://codeload.github.com/wesngu28/rhodesapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221217017,"owners_count":16778679,"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":["api","arknights","fastify","gacha","game","node","node-js","nodejs","tower-defense","typescript","webscraping"],"created_at":"2024-07-29T19:16:11.902Z","updated_at":"2025-03-11T09:30:41.706Z","avatar_url":"https://github.com/wesngu28.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RhodesAPI\n\n\u003e Data is not being updated because Arknights gamepress is in the process of migration, and because I have less time to maintain this project.\n\nAn API for the mobile gacha tower defense game Arknights hosted on Railway, made as a personal project.\n\nThis API queries a MongoDB database filled with data scraped from each operator's page on Gamepress and returns the results to the user. The responses are cached in a Redis database to improve performance.\n\nImages used to be served from cloudinary until a recent spike in usage destroyed my free plan usage, images will serve the original gamepress link in the interim.\n\n## Documentation\n\nYou can view the documentation for this API at the [Documentation Site](https://rhodesapi.vercel.app/).\n\nAdd me in Arknights, Scramble#2904.\n\n## Usage\n\nUse a HTTP client (IE: fetch, axios, requests)\n\n### Base API URL\n\nTo use this API, you will need to use a HTTP client such as fetch, axios, or requests. The railway version is the current updated version, but cyclic will be maintained on the older version as it connects to the Mongo atlas cluster.\n\n\u003e https://api.rhodesapi.com/api/\n\n### Operator Endpoints\n\nPass in exclude parameter with keys that you want to exclude (?exclude=talents,voicelines).\n| Method | Endpoint | Description/Sample |\n|:-----:|:--------------------------------------------------------:|:---------------------------------------------------------------- |\n| GET | https://api.rhodesapi.com/api/operator | Get all operators and their associated information. |\n| GET | https://api.rhodesapi.com/api/operator/:name| Get a singular operator and their associated information. |\n\n### Art Endpoint\n\nPass in e2 parameter to get only the e2 art (?e2=true)\n| Method | Endpoint | Description/Sample |\n|:-----:|:--------------------------------------------------------:|:---------------------------------------------------------------- |\n| GET | https://api.rhodesapi.com/api/art| Get the art of the specified operator. |\n\n### Search Endpoints\n\n\u003e https://api.rhodesapi.com/api/search?\n\nSearch operators based on provided query parameters. Supported parameters are:\n\n- `gender`\n- `place_of_birth`\n- `race`\n- `physical_strength`\n- `combat_skill`\n- `mobility`\n- `physiological_endurance`\n- `tactical_planning`\n- `combat_skill`\n- `originium_adaptability`\n- `mobility`\n- `affiliation`\n- `class`\n- `tags`\n- `headhunting`\n- `recruitable`\n- `rarity`\n- `art`\n- `va`\n\n#### Recruit Endpoints\n\n\u003e GET: https://api.rhodesapi.com/api/recruit?tag1=tagone\u0026tag2=tagtwo\u0026tag3=tagthree\n\nSimilar to the search query but supports only up to three tags.\n\n### Notes\n\nThis is a personal project made to learn how to create an API and become more familiar with TypeScript syntax. This project was originally written in JavaScript, but was converted to TypeScript.\n\nThe data should automatically update itself through a scheduled request to my update route.\n\nThrough this project, I became more comfortable using TypeScript and working with large amounts of data in MongoDB. I also gained experience using Docker and Docker Compose for local development, and learned how to cache data with Redis to improve performance.\n\nUsed Technologies: Javascript, Typescript, Node.JS, Express, MongoDB/Mongoose, Redis, Cyclic, Docker\n\n### Future Changes\n\nMaybe ideally I can grab all the image assets for skills, materials, and etc and store them in a CDN as well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesngu28%2Frhodesapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesngu28%2Frhodesapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesngu28%2Frhodesapi/lists"}