{"id":28255828,"url":"https://github.com/destineeadams/wisdomdisperserapi","last_synced_at":"2025-06-16T13:32:22.351Z","repository":{"id":285581633,"uuid":"957665640","full_name":"DestineeAdams/WisdomDisperserAPI","owner":"DestineeAdams","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-30T03:27:38.000Z","size":105,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-19T22:14:45.131Z","etag":null,"topics":["api","api-server","apis","crud","crud-api","rest-api"],"latest_commit_sha":null,"homepage":"https://wisdomdisperserapi.onrender.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DestineeAdams.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-03-30T22:37:19.000Z","updated_at":"2025-04-30T03:27:41.000Z","dependencies_parsed_at":"2025-04-30T03:30:13.243Z","dependency_job_id":null,"html_url":"https://github.com/DestineeAdams/WisdomDisperserAPI","commit_stats":null,"previous_names":["destineeadams/wisdomdisperserapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DestineeAdams/WisdomDisperserAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DestineeAdams%2FWisdomDisperserAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DestineeAdams%2FWisdomDisperserAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DestineeAdams%2FWisdomDisperserAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DestineeAdams%2FWisdomDisperserAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DestineeAdams","download_url":"https://codeload.github.com/DestineeAdams/WisdomDisperserAPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DestineeAdams%2FWisdomDisperserAPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260168993,"owners_count":22969100,"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","api-server","apis","crud","crud-api","rest-api"],"created_at":"2025-05-19T22:14:44.885Z","updated_at":"2025-06-16T13:32:22.338Z","avatar_url":"https://github.com/DestineeAdams.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wisdom Dispenser API  \nHandles creating, updating, and fetching quotes including a random quote endpoint. Perfect for integration into other projects or services.\n\n**See project running here:** https://wisdomdisperserapi.onrender.com ✨  \n**Related projects:** https://the-wisdom-dispenser.onrender.com\n\n**Tech used:** JavaScript, Node.js, MongoDB, Express, dotenv\n\n## How the Data Is Organized\n\n```json\n{\n  \"_id\": \"\",\n\n  \"quotes\": [\n    \"jen was here\",\n    \"hello world\"\n  ],\n  \n  \"author\": \"jen\",\n  \n  \"rating\": {\n    \"$numberInt\": \"10\"\n  }\n}\n```\n\n- *Every rating starts out at ten.*  \n- *Every string entry is transferred to lowercase.*\n\n## HTTP Methods\n\n### `POST`  \n**Endpoint:** `/api/\"quote\"/\"author\"`  \n- Checks if the quote already exists in the database.  \n  - If it does, the user is pointed to use the `PUT` method instead.  \n  - If not, the quote is added.\n\n### `GET`  \n**Endpoint:** `/api`  \n- Returns all data in the database.\n\n**Endpoint:** `/api/random`  \n- Returns one random document.\n\n### `PUT`  \n**Endpoint:** `/api/\"quote\"/\"author\"`  \n- Checks if the author exists in the database.  \n  - If so, checks whether the quote already exists.  \n  - If not, adds the quote to the author's quote array.\n\n**Endpoint:** `/api/rate/\"quote\"/\"author\"`  \n- *Coming soon*\n\n### `DELETE`  \n**Endpoint:** `/api/del/\"quote\"/\"author\"`  \n- *Coming soon*\n\n## Optimizations\n- [ ] Implement a system to prevent offensive language from being added to the database.  \n- [ ] Restructure the schema for scalability and flexibility.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestineeadams%2Fwisdomdisperserapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdestineeadams%2Fwisdomdisperserapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestineeadams%2Fwisdomdisperserapi/lists"}