{"id":24144487,"url":"https://github.com/hsoekiswo/information-api","last_synced_at":"2026-05-08T03:34:57.842Z","repository":{"id":267544523,"uuid":"901222052","full_name":"hsoekiswo/information-api","owner":"hsoekiswo","description":"API documentation for Ragnarok Recommendation. Ragnarok Recommendation is RESTful API platform offering structured access to Ragnarok world. Explore recommendation, items, monsters, maps in one place.","archived":false,"fork":false,"pushed_at":"2025-01-13T14:25:38.000Z","size":223,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T14:44:21.251Z","etag":null,"topics":["bun","honojs","prisma-orm","ragnarok-online","restful-api","typescript"],"latest_commit_sha":null,"homepage":"https://ragnarok-recommendation.onrender.com/","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/hsoekiswo.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-12-10T09:07:23.000Z","updated_at":"2025-01-13T14:25:46.000Z","dependencies_parsed_at":"2025-03-01T14:44:26.877Z","dependency_job_id":"161d6590-735d-4e85-ab6b-4da381423243","html_url":"https://github.com/hsoekiswo/information-api","commit_stats":null,"previous_names":["hsoekiswo/information-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hsoekiswo/information-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsoekiswo%2Finformation-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsoekiswo%2Finformation-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsoekiswo%2Finformation-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsoekiswo%2Finformation-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsoekiswo","download_url":"https://codeload.github.com/hsoekiswo/information-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsoekiswo%2Finformation-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274407330,"owners_count":25279267,"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-09-10T02:00:12.551Z","response_time":83,"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":["bun","honojs","prisma-orm","ragnarok-online","restful-api","typescript"],"created_at":"2025-01-12T06:11:33.857Z","updated_at":"2025-11-09T13:03:09.602Z","avatar_url":"https://github.com/hsoekiswo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ragnarok Recommendation\n\n## Goals\nThis information API is a database to help Ragnarok player find monsters for leveling or get items. Main feature of this API is the recommendations for items drop and leveling monster guide. The monster information is fetched from divine-pride.net API.\n\n## Concept\nThis API is able to retrieve ragnarok online monsters data provided by divine-pride.net.\u003cbr\u003e\nOne thing to notes that this API have role based access to use its path.\u003cbr\u003e\nAuthentication and authorization process is supported by JWT.\u003cbr\u003e\nWriting monsters data only can be accessed through admin.\u003cbr\u003e\nUser can create character and get monster recommendation.\u003cbr\u003e\nThis table summarize the detail of user access:\u003cbr\u003e\n\n| Endpoint Category | GET    | POST  | PATCH | DELETE |\n|-------------------|--------|-------|-------|--------|\n| recommendations   | user   | -     | -     | -      |\n| characters        | user   | user  |user   | user   |\n| data              | user   | admin | -     | -      |\n| monsters          | user   | -     | -     | -      |\n| drops             | user   | -     | -     | -      |\n| items             | user   | -     | -     | -      |\n| maps              | user   | -     | -     | -      |\n| experiences       | -      | admin | -     | -      |\n\nUsage flow for user: login -\u003e create character -\u003e get recommendations.\u003cbr\u003e\nUsage flow for admin (to add monster data)*: login as admin -\u003e post monster data.\u003cbr\u003e\n\u003cbr\u003e\n\n*There are just 10 default monster data.\n\n## API Endpoint\nHere is the summary of API documentation. Although you can visit https://ragnarok-recommendation.onrender.com/docs\n### Recommendations\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| GET              | api/recommendations/chanceitem/:id    | Get list recommendation of monsters ordered by higher chances item drops |\n| GET              | api/recommendations/leveling/base/:id | Get list recommendation of monsters ordered by higher base experience    |\n| GET              | api/recommendations/leveling/job/:id  | Get list recommendation of monsters ordered by higher job experience     |\n\n### Characters\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| POST             | api/characters                        | Post single user and put incremental ID                                  |\n| GET              | api/characters                        | Get all characters info                                                  |\n| GET              | api/characters/single/:id             | Get single character info by ID                                          |\n| PATCH            | api/characters/:id                    | Update single character info by ID                                       |\n| DELETE           | api/characters/:id                    | Delete single character by ID                                            |\n\n### Data\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| GET              | api/data/single/:id                   | Get single data consisted monsters, drops, items, maps by monster ID     |\n| POST             | api/data/single/:id                   | Post single data consisted monsters, drops, items, maps by monster ID    |\n| GET              | api/data                              | Get all data of monster info                                             |\n| POST             | api/bulk/:startId/:endId              | Post multiple data consisted monsters, drops, items, maps by monster ID  |\n\n### Monsters\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| GET              | api/monsters/:id                      | Get single monster info by ID                                            |\n| GET              | api/monsters                          | Get list of all monsters                                                 |\n| GET              | api/monsters/fetch/:id                | Get single monster data structure on divine-pride API                    |\n\n### Drops \u0026 Items\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| GET              | api/drops/single/:id                  | Get single relation of monster and its chance of dropped item by ID      |\n| GET              | api/drops                             | Get list of all relation of monster and its chance of dropped item       |\n| GET              | api/items/single/:id                  | Get single item by item ID                                               |\n| GET              | api/items                             | Get list of all items on database                                        |\n| GET              | api/itemsfetch/:id                    | Get single item data structure on divine-pride API                       |\n\n### Maps\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| GET              | api/maps/monstermaps/single/:id       | Get single relation of monster and its map by ID                         |\n| GET              | api/maps/monstermaps                  | Get all relation of monster and its map by ID                            |\n| GET              | api/maps/single/:id                   | Get single map info by map ID                                            |\n| GET              | api/maps                              | Get all maps on the database                                             |\n| GET              | api/fetch/maps                        | Get single map data structure on divine-pride API                        |\n\n### Experiences\n| HTTP Method      | Endpoint                              | Description                                                              |\n|------------------|---------------------------------------|--------------------------------------------------------------------------|\n| POST             | api/experiences/auto                  | Insert experiences needed for base and job level to database by using fetch experience from divine-pride API. Limited up to level third class |\n\n## Tech Stack\nTypescript, Hono, PostgresSQL, Docker\n\n## Libraries\nPrisma ORM, Zod, Open API, Swagger UI, JWT\n\n## Setup\nTo install dependencies:\n```\nbash\ndocker compose --build\n```\n\n## Running the project\nTo run the development server:\n```\nbash\ndocker compose up\n```\nInside Dockerfile it will run:\n```\nbun prisma migrate deploy \u0026\u0026 bun run src/index.ts\n```\nThis will start the server at http://0.0.0.0:3000","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsoekiswo%2Finformation-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsoekiswo%2Finformation-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsoekiswo%2Finformation-api/lists"}