From ded1dc2173810b5b36bd0ea1a5c588ae530d3b1a Mon Sep 17 00:00:00 2001 From: Shawn1042 Date: Fri, 3 Oct 2025 17:21:11 -0400 Subject: [PATCH] simpleapi1 project --- README.md | 39 +++++++++++------------- index.css | 69 ++++++++++++++++++++++++++++++++++++++++++ index.html | 25 +++++++++++++++ script.js | 32 ++++++++++++++++++++ simpleapi1project.jpg | Bin 0 -> 17177 bytes 5 files changed, 143 insertions(+), 22 deletions(-) create mode 100644 index.css create mode 100644 index.html create mode 100644 script.js create mode 100644 simpleapi1project.jpg diff --git a/README.md b/README.md index a9a4cc6..68b22b9 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,17 @@ -# 📊 Project: Simple API 1 - -### Goal: Display data returned from an api - -### How to submit your code for review: - -- Fork and clone this repo -- Create a new branch called answer -- Checkout answer branch -- Push to your fork -- Issue a pull request -- Your pull request description should contain the following: - - (1 to 5 no 3) I completed the challenge - - (1 to 5 no 3) I feel good about my code - - Anything specific on which you want feedback! - -Example: -``` -I completed the challenge: 5 -I feel good about my code: 4 -I'm not sure if my constructors are setup cleanly... -``` +# Horoscope App + +This project get random user data and turns it into a card! + +## How It's Made: + +**Tech used:**: HTML, CSS, and JavaScript + +I used html for the markup, css for the styling, andI used Javascript for the logic of this project. + +## Lessons Learned: + +I learned how to shorten my code more by putting the results array in a variable and getting the data from that instead of writing such a long line of code. + +## Image of Project: + +![simpleapiproject image](simpleapi1project.jpg) \ No newline at end of file diff --git a/index.css b/index.css new file mode 100644 index 0000000..37894fd --- /dev/null +++ b/index.css @@ -0,0 +1,69 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +main { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + min-height: 100vh; + background: #333; + font-family: Arial, sans-serif; +} + +button{ + padding: 30px; + background-color: crimson; + font-weight: bold; + font-size: 20px; + border-radius: 10px; + margin-top: 10px; + color: white; + cursor: pointer; + transition: 0.5s; +} + +button:hover{ + transform: translateY(20px); +} + +.container { + display: flex; + justify-content: center; + align-items: center; +} + +.card { + background: #fff; + border-radius: 8px; + padding: 20px; + box-shadow: 0 4px 12px rgba(0,0,0,0.1); + text-align: center; + width: 300px; +} + +.card img { + width: 100%; + height: auto; + border-radius: 6px; + margin-bottom: 15px; +} + +.card h1 { + font-size: 1.5rem; + color: #333; + margin-bottom: 10px; +} + +.card h2 { + font-size: 1.1rem; + color: #666; +} + + +p{ + margin-top: 10px; +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..2d3d220 --- /dev/null +++ b/index.html @@ -0,0 +1,25 @@ + + + + + + + Simple API 1 + + +
+
+
+ +

+

+

+
+
+ + +
+ + + + \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..519bae5 --- /dev/null +++ b/script.js @@ -0,0 +1,32 @@ +/* +'https://randomuser.me/api/ tested with Postman. Works! + +API should send back a response with the persons name, country/state/ and image (and more) +*/ + +let btn = document.querySelector('button') + +btn.addEventListener("click", getPersonData) + +function getPersonData(){ + let API_URL = 'https://randomuser.me/api/' + let usersName = document.querySelector('h1') + let imgOfUser = document.querySelector('img') + let countryOfUser = document.querySelector('h2') + let nationalityOfUser = document.querySelector('p') + + fetch(API_URL) + .then(res => res.json()) + .then(data => { + console.log(data["results"][0]) + // get the results array in the API + let dataResultsArray = data.results[0] + // put the card data inside the card in the ui + usersName.innerHTML =` ${dataResultsArray.name.title}. ${dataResultsArray.name.first} ${dataResultsArray.name.last}` + imgOfUser.src = dataResultsArray.picture.large + countryOfUser.innerHTML = `${dataResultsArray.location.country}` + nationalityOfUser.innerHTML = `nationality: ${dataResultsArray.nat}` + + }) + +} diff --git a/simpleapi1project.jpg b/simpleapi1project.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51049bf5beb2dc34ff6e6d6695dda5cb2d3d7de4 GIT binary patch literal 17177 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 z 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 hA>aR~_{Z{%_my-Oq>+&>T@0Bt