{"id":16971147,"url":"https://github.com/jwilferd10/zookeepr","last_synced_at":"2026-04-09T12:09:04.587Z","repository":{"id":247091789,"uuid":"796188201","full_name":"jwilferd10/Zookeepr","owner":"jwilferd10","description":"A platform for showcasing animals and their respective zookeepers. Users can add new entries to the local API. This repository has been updated from CommonJS to ES6 Imports. ","archived":false,"fork":false,"pushed_at":"2024-09-26T05:41:22.000Z","size":3742,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T16:43:54.178Z","etag":null,"topics":["css","es6-modules","expressjs","html","javascript-modules","jest","js","nodejs","web-application","web-development","zookeepr"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jwilferd10.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":"2024-05-05T07:47:48.000Z","updated_at":"2024-09-26T05:41:18.000Z","dependencies_parsed_at":"2024-07-23T23:33:13.082Z","dependency_job_id":"2693e2be-29e1-4b1b-af6e-1ad64732b753","html_url":"https://github.com/jwilferd10/Zookeepr","commit_stats":null,"previous_names":["jwilferd10/zookeepr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jwilferd10/Zookeepr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwilferd10%2FZookeepr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwilferd10%2FZookeepr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwilferd10%2FZookeepr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwilferd10%2FZookeepr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwilferd10","download_url":"https://codeload.github.com/jwilferd10/Zookeepr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwilferd10%2FZookeepr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266332634,"owners_count":23912663,"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-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["css","es6-modules","expressjs","html","javascript-modules","jest","js","nodejs","web-application","web-development","zookeepr"],"created_at":"2024-10-14T00:49:08.567Z","updated_at":"2025-12-30T21:42:38.666Z","avatar_url":"https://github.com/jwilferd10.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zookeepr\n\n## 📂 Table of Contents \n- [Description](#wave-description)\n- [User Story](#open_book-user-story)\n- [Resources Used](#floppy_disk-resources-used)\n- [Usage](#minidisc-usage)\n- [Contributors](#paperclip-contributors)\n- [Contact Information](#e-mail-contact-information)\n\n## :wave: Description\n### :page_with_curl: Manage and Explore Zoo Data\nZookeepr is a platform designed to showcase various animals and their respective zookeepers at the zoo. The data for both zookeepers and animals are stored in a JSON file. Using Express.js, users can access and interact with the API. The front-end code dynamically generates cards based on the API data, providing an interactive and seamless user experience.\n\n### :heavy_plus_sign: Create and Search Zoo Records\nUsers can search for specific zookeepers and animals based on set parameters.  This allows for efficient and targeted searches within the zoo's database. Additionally, users can create and add new zookeepers and animals to the local API. This feature ensures that the platform remains up-to-date with the latest information and allows for continuous expansion of the zoo's records.\n\n### :globe_with_meridians: Open\nFrom the start Zookeepr was built to further learning. Because of this, the repository is open and it's my hope that someone views this codebase and finds some use from it.\n\n### 💭 Developer Notes\nOriginally constructed in 2020, this project was designed to teach the use of Express.js and middleware for seamless interaction between the front and back ends. Since then, Zookeepr has been updated to provide further learning opportunities and more hands-on practice.\n\nThe objective of these updates was to replicate a real-life scenario where Zookeepr, initially built with CommonJS, needed to be modernized using ES6 modules. To align with this modernization, the HTML template has also been updated to use semantic elements.\n\n### 🙏 Thank You!\nSo much for checking out Zookeepr. This project may be familiar to some people, but I've made the effort to go further and call this application my own. Thanks again and happy coding!\n\n## :open_book: User Story\nAS A public zoo, WE WANT to webpage that displays public info SO THAT our guests have quick access viewing our Animals and Workers. \n\nGIVEN a website that displays our public zoo info\n- WHEN I view the `Animals` and `Zookeepers` pages\n  - THEN our data should populate the respected page\n- WHEN I start to search for specific `Animals`\n  - THEN I can search for specific traits of the desired animal\n- WHEN I start a search for specific `Zookeepers`\n  - THEN I can search for the zookeeper by name or age\n\nAS A Zookeepr admin, I want to be able to add new entries to our local API SO THAT our zoo's info is up-to-date.\n\nGiven a website that accepts new additions\n- WHEN I visit the landing page\n  - THEN I can add an animal/zookeeper\n- WHEN I visit the animals/zookeeper pages\n  - THEN I can view my newly created animal\n\n## :floppy_disk: Resources Used\n- JavaScript\n- HTML\n- CSS\n- Node.js\n  - This command is used to run Jest with ES6 Import support: `node --experimental-vm-modules node_modules/jest/bin/jest.js`\n- NPM\n- ES6 Modules\n- Express (^4.19.2)\n- Jest (^29.7.0)\n  - Configured to prevent transforming ESM code to CommonJS with: `\"transform\": {}`\n\n## :minidisc: Usage\n### Submitting an Animal\n- Enter the animal's name and species\n- Select the animal's diet\n- Select the personality traits of the animal (multiple choice)\n- Submit\n\n### Submitting a Zookeeper\n- Enter the zookeepers name\n- Input the zookeepers age\n- Include zookeepers favorite animal\n\n### Searching for Zookeeper\nThe website should automatically populate the list with existing zookeepers\n- Query by Zookeeper Name\n- Query by Zookeeper Age\n- Search\n\n### Searching for Zookeeper\nThe website should automatically populate the list with existing animals\n- Query by Animal(s) diet\n- Query by Animal(s) Personality Traits (multiple choice)\n- Search\n  \n## :paperclip: Contributors\n- GitHub: [jwilferd10](https://github.com/jwilferd10)\n  - Email: jwilferd10@yahoo.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwilferd10%2Fzookeepr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwilferd10%2Fzookeepr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwilferd10%2Fzookeepr/lists"}