{"id":29327946,"url":"https://github.com/julesiet/veni-vici","last_synced_at":"2026-04-15T16:31:03.148Z","repository":{"id":303312799,"uuid":"1013486281","full_name":"julesiet/veni-vici","owner":"julesiet","description":"Have you ever wanted to discover more about a subject, but didn't know where to begin? Well, this is the project for you! This week, you will create a web app similar to the now-defunct StumbleUpon, which allows users to discover new things by clicking through random new stuff.","archived":false,"fork":false,"pushed_at":"2025-07-06T23:38:09.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-07T00:31:51.230Z","etag":null,"topics":["project","reactjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/julesiet.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,"zenodo":null}},"created_at":"2025-07-04T01:46:46.000Z","updated_at":"2025-07-06T23:38:12.000Z","dependencies_parsed_at":"2025-07-07T00:41:58.003Z","dependency_job_id":null,"html_url":"https://github.com/julesiet/veni-vici","commit_stats":null,"previous_names":["julesiet/veni-vici"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/julesiet/veni-vici","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julesiet%2Fveni-vici","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julesiet%2Fveni-vici/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julesiet%2Fveni-vici/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julesiet%2Fveni-vici/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julesiet","download_url":"https://codeload.github.com/julesiet/veni-vici/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julesiet%2Fveni-vici/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271641267,"owners_count":24795337,"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-08-22T02:00:08.480Z","response_time":65,"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":["project","reactjs"],"created_at":"2025-07-07T21:24:28.264Z","updated_at":"2026-04-15T16:30:58.122Z","avatar_url":"https://github.com/julesiet.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Development Project 4 - *Fast Flight Finder*\n\nSubmitted by: **Jules-Elvin Andrade**\n\nThis web app generates random flights, utilizing the AviationStack API, and then additional info alongside the Distance Matrix and APINinjas Airport APIs!\n\nTime spent: **16** hours spent in total\n\n## Required Features\n\nThe following **required** functionality is completed: \n\n- [X] **Application features a button that creates a new API fetch request on click and displays at least three attributes and an image obtained from the returned JSON data**\n  - The type of attribute displayed for each image should be consistent across API calls (i.e. if you are using a cat API, and display the color, breed, and age in response to an initial API call, subsequent button clicks should also result in the color, breed, and age being displayed)\n- [X] **Only one item/data from API call response is viewable at a time and at least one image is displayed per API call**\n  - A single result of an API call is displayed at a time \n  - Displayed attributes should match the displayed image (i.e., if showing a picture of a Siamese cat and the attribute breed, the displayed breed should be 'Siamese' not 'Ragdoll' or another breed that doesn't match)\n  - There is at least one image per API call\n- [X] **API call response results should appear random to the user**\n  - Clicking on the API call button should generate a seemingly random new result each time\n  - Note: Repeat results are permitted but the API used should have a reasonably large amount of data and repeats should not be frequent\n- [X] **Clicking on a displayed value for one attribute adds it to a displayed ban **list**\n  - At least one attribute for each API result should be clickable\n  - Clicking on a clickable attribute not on the ban list, should imnmediately add it to the ban list \n  - Clicking on an attribute in the ban list should immediately remove it from the ban list \n- [X] **Attributes on the ban list prevent further images/API results with that attribute from being displayed**\n  - Clicking on the API call button should not result in any image/attributes with attribute values in the ban list being displayed (ex. Using a cat API, if the ban list includes the value 'Siberian' for the breed attribute, clicking on the Discover button should never result in a Siberian cat being displayed)\n  - Note: More attribute values on the ban list may result in a higher frequency of repeat results\n  -  [X] _To ensure an accurate grade, your recording **must** show that when clicked, an attribute in the ban list is immediately removed from the list of banned attributes_\n\n\nThe following **optional** features are implemented:\n\n- [X] Multiple types of attributes are clickable and can be added to the ban list\n- [X] Users can see a stored history of their previously displayed  results from this session\n  - A dedicated section of the application displays all the previous images/attributes seen before\n  - Each time the API call button is clicked, the history updates with the newest API result\n\nThe following **additional** features are implemented:\n\n* I utilized the use of two other APIs to calculate the distance between any given flight's departing and arriving airport, which works to create an airplane simulation to simulate how fast the average velocity of the plane!\n\n## Video Walkthrough\n\nHere's a walkthrough of implemented user stories:\n\n\u003cimg src='https://i.imgur.com/Rupexx9.gif' title='Video Walkthrough' width='1200' height='626' alt='Video Walkthrough' /\u003e\n\nGIF created with Kap!\n\n## Notes\n\nAPIs, alongside async/await functionality, was trivial at first, but the biggest issue I had was working with Javascript's .map function because it only works with arrays when APIs typically return JSON objects within other objects. \n\n## License\n\n    Copyright [2025] [jules!]\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulesiet%2Fveni-vici","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulesiet%2Fveni-vici","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulesiet%2Fveni-vici/lists"}