├── assets ├── Earth.png ├── Mars.png ├── Pluto.png ├── Venus.png ├── Jupiter.png ├── Mercury.png ├── Neptune.png ├── Saturn.png └── Uranus.png ├── public ├── logo.png ├── robots.txt ├── logo192.png ├── logo512.png ├── images │ ├── iss.jpg │ ├── Earth.png │ ├── Mars.png │ ├── Pluto.png │ ├── Venus.png │ ├── home.png │ ├── Jupiter.png │ ├── Mercury.png │ ├── Neptune.png │ ├── Saturn.png │ ├── Uranus.png │ ├── iss_icon.png │ ├── github-img.png │ ├── planetexp.jpg │ ├── satellite.jpg │ └── astronomypic.jpg ├── manifest.json └── index.html ├── src ├── components │ ├── img1.png │ ├── logo.png │ ├── Error.png │ ├── planets.png │ ├── satellite │ │ ├── satellite.png │ │ ├── Satellite.module.css │ │ ├── Loadtimesat.js │ │ └── Satellite.js │ ├── LoadTimePage.css │ ├── try.css │ ├── WelcomePage.js │ ├── Error.js │ ├── LoadTimePage.js │ ├── error.css │ ├── iss-map │ │ ├── IssMap.css │ │ └── IssMap.js │ ├── WelcomePage.css │ ├── apod │ │ ├── Apod.module.css │ │ └── Apod.js │ ├── Try.js │ ├── Constant.js │ └── index.css ├── axios.js ├── index.js ├── Tests │ └── App.test.js ├── Landingpage.css ├── PlanetStyles.css ├── Landingpage.js └── App.js ├── .deepsource.toml ├── .gitignore ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── LICENSE ├── package.json ├── README.md ├── CONTRIBUTING.md └── CODE_OF_CONDUCT.md /assets/Earth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Earth.png -------------------------------------------------------------------------------- /assets/Mars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Mars.png -------------------------------------------------------------------------------- /assets/Pluto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Pluto.png -------------------------------------------------------------------------------- /assets/Venus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Venus.png -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/logo.png -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /assets/Jupiter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Jupiter.png -------------------------------------------------------------------------------- /assets/Mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Mercury.png -------------------------------------------------------------------------------- /assets/Neptune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Neptune.png -------------------------------------------------------------------------------- /assets/Saturn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Saturn.png -------------------------------------------------------------------------------- /assets/Uranus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/assets/Uranus.png -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/images/iss.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/iss.jpg -------------------------------------------------------------------------------- /public/images/Earth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Earth.png -------------------------------------------------------------------------------- /public/images/Mars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Mars.png -------------------------------------------------------------------------------- /public/images/Pluto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Pluto.png -------------------------------------------------------------------------------- /public/images/Venus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Venus.png -------------------------------------------------------------------------------- /public/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/home.png -------------------------------------------------------------------------------- /src/components/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/src/components/img1.png -------------------------------------------------------------------------------- /src/components/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/src/components/logo.png -------------------------------------------------------------------------------- /public/images/Jupiter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Jupiter.png -------------------------------------------------------------------------------- /public/images/Mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Mercury.png -------------------------------------------------------------------------------- /public/images/Neptune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Neptune.png -------------------------------------------------------------------------------- /public/images/Saturn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Saturn.png -------------------------------------------------------------------------------- /public/images/Uranus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/Uranus.png -------------------------------------------------------------------------------- /public/images/iss_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/iss_icon.png -------------------------------------------------------------------------------- /src/components/Error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/src/components/Error.png -------------------------------------------------------------------------------- /src/components/planets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/src/components/planets.png -------------------------------------------------------------------------------- /public/images/github-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/github-img.png -------------------------------------------------------------------------------- /public/images/planetexp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/planetexp.jpg -------------------------------------------------------------------------------- /public/images/satellite.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/satellite.jpg -------------------------------------------------------------------------------- /public/images/astronomypic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/public/images/astronomypic.jpg -------------------------------------------------------------------------------- /src/components/satellite/satellite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/space-voyager-21/space-voyager/HEAD/src/components/satellite/satellite.png -------------------------------------------------------------------------------- /.deepsource.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | [[analyzers]] 4 | name = "javascript" 5 | enabled = true 6 | 7 | [analyzers.meta] 8 | plugins = ["react"] -------------------------------------------------------------------------------- /src/axios.js: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import Constants from "./components/Constant"; 3 | 4 | const axiosInstance=axios.create({ 5 | baseURL:Constants.BaseURL 6 | }) 7 | export default axiosInstance; -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './components/index.css'; 4 | import App from './App'; 5 | import LandingPage from './Landingpage'; 6 | 7 | 8 | ReactDOM.render( 9 | 10 | 11 | 12 | , 13 | document.getElementById('root') 14 | ); 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/components/LoadTimePage.css: -------------------------------------------------------------------------------- 1 | .load__wrapper__img2 { 2 | margin: 2rem; 3 | max-width: 30%; 4 | animation: rotation 30s linear infinite; 5 | } 6 | @keyframes rotation { 7 | from { 8 | transform: rotate(0deg); 9 | } 10 | 11 | to { 12 | transform: rotate(360deg); 13 | } 14 | } 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | 4 | package-lock.json 5 | 6 | # dependencies 7 | /node_modules 8 | /.pnp 9 | .pnp.js 10 | 11 | # testing 12 | /coverage 13 | 14 | # production 15 | /build 16 | 17 | # misc 18 | .DS_Store 19 | .env.local 20 | .env.development.local 21 | .env.test.local 22 | .env.production.local 23 | 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # Yarn files 29 | 30 | yarn-error.log 31 | yarn.lock 32 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /src/components/satellite/Satellite.module.css: -------------------------------------------------------------------------------- 1 | .content-body { 2 | color: white; 3 | } 4 | .satellite-info { 5 | padding: 10px; 6 | font-family: Poppins; 7 | font-size: 1.5rem; 8 | font-weight: 300; 9 | margin: 3rem; 10 | } 11 | .satellite-info h1 { 12 | font-weight: bold; 13 | font-size: 3rem; 14 | font-family: "Merriweather Sans", sans-serif; 15 | } 16 | .satellite-info h1 img { 17 | position: relative; 18 | top: 15px; 19 | } 20 | 21 | .Satellite_satellite-info__2UzBF h3, [class*="satellite-info"] h3 { 22 | display: list-item; 23 | list-style-type: '🛰 '; 24 | list-style-position: inside; 25 | } -------------------------------------------------------------------------------- /src/components/try.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=VT323"); 2 | /* body { 3 | font-family: 'VT323', monospace; 4 | background-color: #003B00; 5 | padding: 1em 2em; 6 | } */ 7 | 8 | /* h1 { 9 | color: #00FF41; 10 | } */ 11 | 12 | .typer { 13 | width: 100%; 14 | font-size: 1em; 15 | white-space: nowrap; 16 | font-size: x-small; 17 | margin: 0 auto; 18 | overflow: hidden; 19 | 20 | } 21 | 22 | 23 | /* #cursor { 24 | border-left: 0.1em solid #00ff41; 25 | animation: blink 0.7s steps(1) infinite; 26 | } */ 27 | 28 | @keyframes blink { 29 | 50% { 30 | border-color: transparent; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /src/components/WelcomePage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import './WelcomePage.css'; 3 | 4 | function Welcomepage() { 5 | return ( 6 |
7 | img-satelite 14 | 24 | Welcome to the Space Exploration World ! 25 | 26 |
27 | ); 28 | } 29 | 30 | export default Welcomepage; 31 | -------------------------------------------------------------------------------- /src/components/satellite/Loadtimesat.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | function LoadTimeSat() { 4 | return ( 5 |
6 | img-satelite 12 |

21 | Search for the Satellites! Know there details right here. 22 |

23 |
24 | ); 25 | } 26 | export default LoadTimeSat; 27 | -------------------------------------------------------------------------------- /src/components/Error.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ErrorIcon from "./Error.png"; 3 | const Error = ({ type }) => { 4 | return ( 5 | <> 6 |
7 |

8 | “There can be no centre in infinity.” - Lucretius. 9 |

10 |
11 |

12 | OOps!We dont know about the {type} you searched for 13 |

14 | some error occured 19 |
20 |
21 | 22 | ); 23 | }; 24 | 25 | export default Error; 26 | -------------------------------------------------------------------------------- /src/components/LoadTimePage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import './LoadTimePage.css'; 3 | 4 | function LoadTime() { 5 | return ( 6 |
7 | img-satelite 13 |

22 | Search for the Planets! I am sure you will find something that interests 23 | you 😁 24 |

25 |
26 | ); 27 | } 28 | export default LoadTime; 29 | -------------------------------------------------------------------------------- /src/components/error.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap"); 2 | .error__wrapper { 3 | font-family: "Secular One", sans-serif; 4 | width: 100%; 5 | min-height: 70vh; 6 | display: flex; 7 | flex-direction: column; 8 | justify-content: space-between; 9 | align-items: center; 10 | } 11 | .error__wrapper__quote { 12 | font-size: 2rem; 13 | color: #fff; 14 | text-shadow: 0 0 1rem black; 15 | font-family: "Black Ops One", cursive; 16 | text-align: center; 17 | } 18 | .error__wrapper__img { 19 | width: 70vw; 20 | max-width: 300px; 21 | animation: float 7s linear infinite; 22 | } 23 | .error__wrapper__text { 24 | font-size: 1.5rem; 25 | color: #fff; 26 | text-align: center; 27 | } 28 | @keyframes float { 29 | 0% { 30 | transform: translateY(0px); 31 | opacity: 1; 32 | } 33 | 50% { 34 | transform: translateY(-60px); 35 | opacity: 1; 36 | } 37 | 100% { 38 | transform: translateY(0px); 39 | opacity: 1; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Mohit Khairnar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/components/iss-map/IssMap.css: -------------------------------------------------------------------------------- 1 | 2 | .map-heading { 3 | text-align : center; 4 | color : white; 5 | font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; 6 | } 7 | 8 | 9 | 10 | .map-button:hover { 11 | background-color: #089222; 12 | cursor : pointer; 13 | } 14 | 15 | .lds-hourglass { 16 | display: flex; 17 | justify-content: center; 18 | text-align: center; 19 | 20 | } 21 | .lds-hourglass:after { 22 | content: " "; 23 | display: block; 24 | border-radius: 50%; 25 | width: 0; 26 | height: 0; 27 | margin: 8px; 28 | text-align: center; 29 | box-sizing: border-box; 30 | border: 32px solid #fff; 31 | border-color: #fff transparent #fff transparent; 32 | animation: lds-hourglass 1.2s infinite; 33 | } 34 | @keyframes lds-hourglass { 35 | 0% { 36 | transform: rotate(0); 37 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 38 | } 39 | 50% { 40 | transform: rotate(900deg); 41 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 42 | } 43 | 100% { 44 | transform: rotate(1800deg); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/Tests/App.test.js: -------------------------------------------------------------------------------- 1 | import {render,screen,cleanup} from '@testing-library/react'; 2 | import App from '../App'; 3 | import Error from '../components/Error' 4 | import ReactDOM from 'react-dom'; 5 | import react from 'react'; 6 | import {isTSAnyKeyword } from '@babel/types'; 7 | import '../components/satellite/Satellite' 8 | 9 | import 'jest-canvas-mock'; 10 | 11 | afterEach(()=>{ 12 | cleanup(); 13 | }); 14 | 15 | 16 | test ('searchbox should be in screen',()=>{ 17 | render(); 18 | const searchkabox=screen.queryByTestId("searchkabox"); 19 | expect (searchkabox).toBeInTheDocument; 20 | } ) 21 | 22 | 23 | 24 | 25 | test ('main_heading',()=>{ 26 | render(); 27 | const main_heading=screen.queryByTestId("main_heading"); 28 | expect (main_heading).toBeInTheDocument; 29 | } ) 30 | 31 | test ('footer',()=>{ 32 | render(); 33 | const footer=screen.queryByTestId("footer"); 34 | expect (footer).toBeInTheDocument; 35 | 36 | 37 | } ) 38 | 39 | test ('footerText',()=>{ 40 | render(); 41 | const footerText=screen.queryByTestId("footerText"); 42 | expect (footerText).toBeInTheDocument; 43 | 44 | 45 | 46 | } ) 47 | 48 | 49 | 50 | test ('error existance verification',()=>{ 51 | render(); 52 | const error=screen.queryByTestId("error"); 53 | expect (error).toBeInTheDocument; 54 | } ) 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/components/WelcomePage.css: -------------------------------------------------------------------------------- 1 | .container { 2 | display: grid; 3 | place-items: center; 4 | } 5 | .load__wrapper__img { 6 | padding-top: 7%; 7 | width: 70vw; 8 | max-width: 25%; 9 | animation: floating 10s linear infinite; 10 | } 11 | @keyframes floating { 12 | 0% { 13 | transform: translateY(0px); 14 | opacity: 1; 15 | } 16 | 50% { 17 | transform: translateY(-80px); 18 | opacity: 1; 19 | } 20 | 100% { 21 | transform: translateY(0px); 22 | opacity: 1; 23 | } 24 | } 25 | 26 | .typing { 27 | width: 100%; 28 | font-size: 2em; 29 | animation: typing 7s infinite; 30 | white-space: nowrap; 31 | 32 | overflow: hidden; 33 | } 34 | 35 | @keyframes typing { 36 | from { 37 | width: 0; 38 | } 39 | } 40 | 41 | /* On screens that are 1200px wide or less */ 42 | @media screen and (max-width: 1200px) { 43 | @keyframes floating { 44 | 50% { 45 | transform: translateY(-50px); 46 | opacity: 1; 47 | } 48 | } 49 | } 50 | 51 | /* On screens that are 870px wide or less */ 52 | @media screen and (max-width: 870px) { 53 | @keyframes floating { 54 | 50% { 55 | transform: translateY(-40px); 56 | opacity: 1; 57 | } 58 | } 59 | } 60 | 61 | /* On screens that are 630px wide or less */ 62 | @media screen and (max-width: 630px) { 63 | @keyframes floating { 64 | 50% { 65 | transform: translateY(-20px); 66 | opacity: 1; 67 | } 68 | } 69 | .typing { 70 | color: white; 71 | font-size: 1rem; 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/components/apod/Apod.module.css: -------------------------------------------------------------------------------- 1 | 2 | .apod { 3 | margin: auto; 4 | height: fit-content; 5 | text-align: center; 6 | margin-bottom: 270px; 7 | text-align: center; 8 | } 9 | .apod .apod__image img { 10 | height: 100%; 11 | width: 60%; 12 | } 13 | .apod__image { 14 | transition: all 0.5s ease; 15 | cursor: pointer; 16 | } 17 | .apod__image:hover { 18 | transform: scale(1.05); 19 | } 20 | .apod__main__header { 21 | color: white; 22 | font-size: 3rem; 23 | 24 | text-align: center; 25 | margin-top: 10px; 26 | font-weight: bold; 27 | font-family: 'Secular One'; 28 | margin-bottom: 50px; 29 | } 30 | .apod__header { 31 | color: white; 32 | font-size: 2em; 33 | text-align: center; 34 | margin-top: 10px; 35 | text-decoration: underline; 36 | font-weight: bold; 37 | font-family: 'Secular One'; 38 | margin-bottom: 50px; 39 | } 40 | .apod__description { 41 | color: white; 42 | font-size: 1.5em; 43 | text-align: center; 44 | margin-top: 10px; 45 | font-weight: 500; 46 | font-family: sans-serif; 47 | margin-bottom: 50px; 48 | } 49 | .player-wrapper { 50 | position: relative; 51 | padding: 20px; /* Player ratio: 100 / (1280 / 720) */ 52 | } 53 | 54 | .react-player { 55 | position: absolute; 56 | top: 0; 57 | left: 0; 58 | } 59 | @media only screen and (max-width: 870px) { 60 | .apod { 61 | height: 100%; 62 | width: 100%; 63 | margin-top: 10px; 64 | margin-bottom: 50px; 65 | } 66 | .player-wrapper { 67 | height: 100%; 68 | width: 100%; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "homepage": "/", 3 | "name": "space-app", 4 | "version": "0.1.0", 5 | "private": true, 6 | "dependencies": { 7 | "@testing-library/jest-dom": "^5.11.4", 8 | "@testing-library/react": "^11.1.0", 9 | "@testing-library/user-event": "^12.1.10", 10 | "animate.css": "^4.1.1", 11 | "axios": "^0.21.4", 12 | "bingmaps-react": "^1.1.1", 13 | "countries-code": "^1.1.0", 14 | "gh-pages": "^3.2.3", 15 | "jest-canvas-mock": "^2.3.1", 16 | "node-modules": "^1.0.1", 17 | "react": "^17.0.2", 18 | "react-dom": "^17.0.2", 19 | "react-parallax-tilt": "^1.5.68", 20 | "react-particles-js": "^3.5.3", 21 | "react-player": "^2.9.0", 22 | "react-router-dom": "^6.2.1", 23 | "react-scripts": "4.0.3", 24 | "react-tinder-card": "^1.4.0", 25 | "tsparticles": "^1.35.1", 26 | "web-vitals": "^1.0.1" 27 | }, 28 | "scripts": { 29 | "start": "react-scripts start", 30 | "build": "react-scripts build", 31 | "test": "react-scripts test", 32 | "eject": "react-scripts eject", 33 | "predeploy": "npm run build", 34 | "deploy": "gh-pages -d build" 35 | }, 36 | "eslintConfig": { 37 | "extends": [ 38 | "react-app", 39 | "react-app/jest" 40 | ] 41 | }, 42 | "browserslist": { 43 | "production": [ 44 | ">0.2%", 45 | "not dead", 46 | "not op_mini all" 47 | ], 48 | "development": [ 49 | "last 1 chrome version", 50 | "last 1 firefox version", 51 | "last 1 safari version" 52 | ] 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/components/Try.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import "./try.css"; 3 | 4 | class Try extends React.Component { 5 | static defaultProps = { 6 | heading: "", 7 | dataText: [], 8 | }; 9 | 10 | constructor(props) { 11 | super(props); 12 | 13 | this.state = { 14 | text: "", 15 | isDeleting: false, 16 | loopNum: 0, 17 | typingSpeed: 250, 18 | }; 19 | } 20 | 21 | componentDidMount() { 22 | this.handleType(); 23 | } 24 | 25 | handleType = () => { 26 | const { dataText } = this.props; 27 | const { isDeleting, loopNum, text, typingSpeed } = this.state; 28 | const i = loopNum % dataText.length; 29 | const fullText = dataText[i]; 30 | 31 | this.setState({ 32 | text: isDeleting 33 | ? fullText.substring(0, text.length - 1) 34 | : fullText.substring(0, text.length + 1), 35 | typingSpeed: isDeleting ? 25 : 150, 36 | }); 37 | 38 | if (!isDeleting && text === fullText) { 39 | setTimeout(() => this.setState({ isDeleting: true }), 500); 40 | } else if (isDeleting && text === "") { 41 | this.setState({ 42 | isDeleting: false, 43 | loopNum: loopNum + 1, 44 | }); 45 | } 46 | 47 | setTimeout(this.handleType, typingSpeed); 48 | }; 49 | 50 | render() { 51 | return ( 52 |
53 |

54 | {this.props.heading}  55 | {this.state.text} 56 | 57 |

58 |
59 | ); 60 | } 61 | } 62 | 63 | export default Try; -------------------------------------------------------------------------------- /src/components/iss-map/IssMap.js: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from "react"; 2 | import "./IssMap.css"; 3 | import { get } from "axios"; 4 | import BingMapsReact from "bingmaps-react"; 5 | import Constants from "../Constant"; 6 | 7 | function IssMap() { 8 | const [isDataFetched, updateDataFetched] = useState(null); 9 | 10 | useEffect(() => { 11 | mapBody().then(() => { 12 | setInterval(mapBody, 3000); 13 | }); 14 | }, []); 15 | const mapBody = async () => { 16 | const resp = await get(Constants.IssURL); 17 | const { latitude, longitude } = resp.data; 18 | 19 | const position = { 20 | lat: +latitude, 21 | lng: +longitude, 22 | }; 23 | updateDataFetched(position); 24 | }; 25 | return ( 26 | <> 27 |

28 | International Space Station Current Location 29 |

30 | {(isDataFetched && ( 31 | 53 | )) ||
} 54 | 55 | ); 56 | } 57 | 58 | export default IssMap; 59 | -------------------------------------------------------------------------------- /src/components/apod/Apod.js: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from "react"; 2 | import axios from "axios"; 3 | import ReactPlayer from "react-player/lazy"; 4 | import styles from "./Apod.module.css"; 5 | import Constants from "./../Constant"; 6 | 7 | export default function Apod() { 8 | const [apod, setApod] = useState(null); 9 | useEffect(() => { 10 | (async () => { 11 | const { data } = await axios.get( 12 | "https://api.nasa.gov/planetary/apod?api_key=" + Constants.NasaApiKey 13 | ); 14 | 15 | setApod(data); 16 | })(); 17 | }, []); 18 | // console.log(apod.url) 19 | return ( 20 |
21 | {apod && ( 22 |
23 |
24 | 🌌Astronomy Pic of the day!🌌 25 |
26 |
{apod.title}
27 |
{apod.explanation}
28 | {(apod.url?.endsWith(".jpg") && ( 29 |
apod && window.open(apod.url)} 32 | > 33 | {apod.title} 34 |
35 | )) || ( 36 |
37 | 44 |
45 | )} 46 |
47 | )} 48 |
49 | ); 50 | } 51 | -------------------------------------------------------------------------------- /src/components/Constant.js: -------------------------------------------------------------------------------- 1 | //All APIs used in the website can be found here. 2 | 3 | let apiKey = "AIzaSyAgBnhWZh77iXBO7OCWfpaApqkYAAWdw18"; 4 | let version = "weekly"; 5 | let IssURL = "https://api.wheretheiss.at/v1/satellites/25544"; 6 | let URL = "https://space-api-abh80.vercel.app/sats?q="; 7 | let BaseURL = "https://api.le-systeme-solaire.net/rest/bodies/"; 8 | let NasaApiKey = "RMSK1F6elq4x31FQSsoAtQpfz7Zbsdr4OphLjrVn"; 9 | let earthPath = "../images/Earth.png"; 10 | let mercuryPath = "../images/Mercury.png"; 11 | let venusPath = "../images/Venus.png"; 12 | let jupiterPath = "../images/Jupiter.png"; 13 | let saturnPath = "../images/Saturn.png"; 14 | let uranusPath = "../images/Uranus.png"; 15 | let neptunePath = "../images/Neptune.png"; 16 | let plutoPath = "../images/Pluto.png"; 17 | let marsPath = "../images/Mars.png"; 18 | 19 | let particleParam = { 20 | particles: { 21 | number: { 22 | value: 200, 23 | density: { 24 | enable: true, 25 | }, 26 | }, 27 | size: { 28 | value: 5, 29 | random: true, 30 | anim: { 31 | speed: 4, 32 | size_min: 0.3, 33 | }, 34 | }, 35 | line_linked: { 36 | enable: false, 37 | }, 38 | move: { 39 | random: true, 40 | speed: 1, 41 | direction: "top", 42 | out_mode: "out", 43 | }, 44 | }, 45 | interactivity: { 46 | events: { 47 | onhover: { 48 | enable: true, 49 | mode: "bubble", 50 | }, 51 | }, 52 | modes: { 53 | bubble: { 54 | distance: 250, 55 | duration: 1, 56 | size: 0, 57 | opacity: 0, 58 | }, 59 | repulse: { 60 | distance: 400, 61 | duration: 4, 62 | }, 63 | }, 64 | }, 65 | }; 66 | 67 | let particleName = "particle"; 68 | let BingMapsApiKey = 69 | "ArzzxnJL3kIXivIC-8MEX9gdGPx20A5RkAGyQkm23tnJieJJSjDMvZcy1GnNx1gW"; 70 | 71 | const Constants = { 72 | particleParam, 73 | particleName, 74 | apiKey, 75 | version, 76 | IssURL, 77 | URL, 78 | BaseURL, 79 | NasaApiKey, 80 | earthPath, 81 | marsPath, 82 | plutoPath, 83 | neptunePath, 84 | uranusPath, 85 | saturnPath, 86 | jupiterPath, 87 | venusPath, 88 | mercuryPath, 89 | BingMapsApiKey, 90 | }; 91 | 92 | export default Constants; 93 | -------------------------------------------------------------------------------- /src/Landingpage.css: -------------------------------------------------------------------------------- 1 | .cards { 2 | text-align: center; 3 | align-content: center; 4 | } 5 | .cardblock { 6 | display: flex; 7 | flex-direction: row; 8 | justify-content: space-around; 9 | margin: 0 auto; 10 | } 11 | 12 | .github-button img{ 13 | height: 36px; 14 | } 15 | 16 | .github-button .github{ 17 | line-height: 0; 18 | border: .5px solid black; 19 | display: inline-block; 20 | padding: 4px 12px; 21 | border-radius: 10px; 22 | transition: all .3s ease-in-out; 23 | background-color: rgb(255, 255, 255); 24 | 25 | 26 | } 27 | 28 | .github-button .github:hover { 29 | transform: scale(1.1); 30 | 31 | } 32 | 33 | 34 | .card__category { 35 | /* font-size: 2rem; 36 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 37 | margin: 2rem; 38 | padding: 2rem; */ 39 | display: flex; 40 | align-items: center; 41 | /* padding: 2rem; */ 42 | 43 | margin: 1rem; 44 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 45 | background-color: rgb(85, 102, 255); 46 | border-radius: 8px; 47 | transition: 0.3s all ease-in-out; 48 | font-weight: bold; 49 | text-align: center; 50 | text-decoration: none; 51 | flex-direction: column; 52 | } 53 | .card__category img{ 54 | width: 100%; 55 | height: 200px; 56 | object-fit: cover; 57 | margin-bottom: 1rem; 58 | } 59 | .card__category span{ 60 | margin-bottom: 1rem; 61 | } 62 | 63 | 64 | span { 65 | margin: 0 auto; 66 | } 67 | 68 | /* .card__category:hover { 69 | flex: 1; 70 | font-size: 1.5rem; 71 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 72 | margin: 4rem; 73 | padding: 2rem; 74 | background-color: rgb(85, 102, 255); 75 | border-radius:8px; 76 | transform: scale(1.1); 77 | 78 | } */ 79 | .main_page, 80 | .page1, 81 | .page2 { 82 | font-size: 2rem; 83 | color: white; 84 | text-decoration: none; 85 | } 86 | 87 | @media only screen and (max-width: 870px) { 88 | .cardblock { 89 | display: flex; 90 | flex-direction: row; 91 | } 92 | .card__category { 93 | /* padding: 1.5rem; */ 94 | font-size: 1.5rem; 95 | margin: 2rem; 96 | font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; 97 | background-color: rgb(85, 102, 255); 98 | border-radius: 8px; 99 | transition: 0.3s all ease-in-out; 100 | font-weight: bold; 101 | text-align: center; 102 | } 103 | 104 | .main_page, 105 | .page1, 106 | .page2 { 107 | font-size: 1rem; 108 | color: white; 109 | text-decoration: none; 110 | user-select: none; 111 | cursor: normal; 112 | } 113 | } 114 | @media only screen and (max-width: 630px) { 115 | .cardblock { 116 | display: flex; 117 | flex-direction: column; 118 | } 119 | .main_page, 120 | .page1, 121 | .page2 { 122 | font-size: 1rem; 123 | color: white; 124 | text-decoration: none; 125 | user-select: none; 126 | cursor: normal; 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /src/PlanetStyles.css: -------------------------------------------------------------------------------- 1 | .planet { 2 | width: 100%; 3 | height: auto; 4 | transition: all 0.3s ease-in-out; 5 | } 6 | .planet-mercury:hover { 7 | border: 4px dotted #fa965f; 8 | border-radius: 100%; 9 | } 10 | 11 | .planet-venus:hover { 12 | border: 4px dotted #fddc6e; 13 | border-radius: 100%; 14 | } 15 | 16 | .planet-earth:hover { 17 | border: 4px dotted #a6e7f0; 18 | border-radius: 100%; 19 | } 20 | 21 | .planet-mars:hover { 22 | border: 4px dotted #f95c3d; 23 | border-radius: 100%; 24 | } 25 | 26 | .planet-jupiter:hover { 27 | border: 4px dotted #fcd042; 28 | border-radius: 100%; 29 | } 30 | 31 | .planet-saturn:hover { 32 | border: 4px dotted #fbaa5b; 33 | padding: 25px; 34 | border-radius: 100%; 35 | } 36 | 37 | .planet-uranus:hover { 38 | border: 4px dotted #5ac3ff; 39 | padding: 25px; 40 | border-radius: 100%; 41 | } 42 | 43 | .planet-neptune:hover { 44 | border: 4px dotted #6487ff; 45 | border-radius: 100%; 46 | } 47 | 48 | .planet-pluto:hover { 49 | border: 4px dotted #c39b69; 50 | border-radius: 100%; 51 | } 52 | 53 | .planet-button { 54 | background: none; 55 | outline: none; 56 | border: 4px dotted transparent; 57 | max-width: 120px; 58 | height: 120px; 59 | transition: all 0.3s; 60 | animation: rotation infinite 15s linear; 61 | padding: 15px; 62 | cursor: pointer; 63 | } 64 | .planet-button:hover .planet { 65 | transform: scale(1.2); 66 | } 67 | .planets { 68 | max-width: 85vw; 69 | margin: 0 auto; 70 | margin-top: 5px; 71 | display: flex; 72 | flex-direction: row; 73 | gap: 20px; 74 | justify-content: space-evenly; 75 | flex-wrap: wrap; 76 | } 77 | 78 | @media screen and (max-width: 600px) { 79 | .planets { 80 | max-width: 100vw; 81 | } 82 | 83 | button { 84 | width: 100px; 85 | height: 100px; 86 | } 87 | } 88 | 89 | @media screen and (max-width: 400px) { 90 | .planets { 91 | max-width: 90vw; 92 | } 93 | 94 | button { 95 | width: 80px; 96 | height: 80px; 97 | } 98 | } 99 | .planet-mercury.planet-is-active { 100 | border: 4px dotted #fa965f; 101 | border-radius: 100%; 102 | } 103 | 104 | .planet-venus.planet-is-active { 105 | border: 4px dotted #fddc6e; 106 | border-radius: 100%; 107 | } 108 | 109 | .planet-earth.planet-is-active { 110 | border: 4px dotted #a6e7f0; 111 | border-radius: 100%; 112 | } 113 | 114 | .planet-mars.planet-is-active { 115 | border: 4px dotted #f95c3d; 116 | border-radius: 100%; 117 | } 118 | 119 | .planet-jupiter.planet-is-active { 120 | border: 4px dotted #fcd042; 121 | border-radius: 100%; 122 | } 123 | 124 | .planet-saturn.planet-is-active { 125 | border: 4px dotted #fbaa5b; 126 | padding: 25px; 127 | border-radius: 100%; 128 | } 129 | 130 | .planet-uranus.planet-is-active { 131 | border: 4px dotted #5ac3ff; 132 | padding: 25px; 133 | border-radius: 100%; 134 | } 135 | 136 | .planet-neptune.planet-is-active { 137 | border: 4px dotted #6487ff; 138 | border-radius: 100%; 139 | } 140 | 141 | .planet-pluto.planet-is-active { 142 | border: 4px dotted #c39b69; 143 | border-radius: 100%; 144 | } 145 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 | 46 | 47 | 56 | Space Voyager 57 | 58 | 59 | 60 |
61 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Hey Developers! Presenting you all the 'Space-Voyager'.

2 | 3 | 4 | ![image](https://user-images.githubusercontent.com/79041510/136692364-1a0c11db-dcc9-4168-9fd1-4e948933a353.png) 5 | ![image](https://user-images.githubusercontent.com/79041510/136077311-746ac1b6-99d1-4d12-b781-e72a2f2fb7af.png) 6 | 7 | 8 | 9 | 10 | 11 | ## 🏅💻 Hacktoberfest21 12 | ![](https://hacktoberfest.digitalocean.com/_nuxt/img/logo-hacktoberfest-full.f42e3b1.svg) 13 | 14 | Hacktoberfest is back this year! 15 | 16 | Hacktoberfest is an annual month-long celebration of open source organised every year by DIgital Ocean. Every participant who follows their set of rules and get 4 Pull Requests (PRs) merged will receive swags. For the past years, learners have been hacking throughout October in the open-source community, and this 8th year you can avail yourself the opportunity to partake and contribute to this ever-growing platform. 17 | 18 | 19 | ## 💻Tech Stack 20 |

This project is under construction.

21 |

Project Link: https://space-voyager.netlify.app

22 | 23 | 24 | 25 | ![REACT](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB) 26 | ![CSS](https://img.shields.io/badge/css3%20-%231572B6.svg?&style=for-the-badge&logo=css3&logoColor=white) 27 | ![JS](https://img.shields.io/badge/javascript%20-%23323330.svg?&style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) 28 | 29 | 30 | 31 | ## 📌Contributing Guidelines : 32 | **1.** Fork [this](https://github.com/space-voyager-21/space-voyager.git) repository. 33 | 34 | **2.** Clone your forked copy of the project. 35 | ``` 36 | git clone --depth 1 https://github.com//space-voyager.git 37 | ``` 38 | **3.** Navigate to the project directory :file_folder: . 39 | ``` 40 | cd space-voyager 41 | ``` 42 | **4.** Add a reference(remote) to the original repository. 43 | ``` 44 | git remote add upstream https://github.com/space-voyager-21/space-voyager.git 45 | ``` 46 | **5.** Check the remotes for this repository. 47 | ``` 48 | git remote -v 49 | ``` 50 | **6.** Always take a pull from the upstream repository to your master branch to keep it at par with the main project(updated repository). 51 | ``` 52 | git pull upstream main 53 | ``` 54 | **7.** Create a new branch. 55 | ``` 56 | git checkout -b 57 | ``` 58 | **8.** Perfom your desired changes to the code base. 59 | 60 | 61 | **9.** Track your changes:heavy_check_mark: 62 | ``` 63 | git add . 64 | ``` 65 | **10.** Commit your changes . 66 | ``` 67 | git commit -m "Relevant message" 68 | ``` 69 | **11.** Push the committed changes in your feature branch to your remote repo. 70 | ``` 71 | git push -u origin 72 | ``` 73 | **12.** To create a pull request, click on `compare and pull requests`. Please ensure you compare your feature branch to the desired branch of the repo you are suppose to make a PR to. 74 | 75 | **13.** Add appropriate title and description to your pull request explaining your changes and efforts done. Always make sure you have pulled the latest code from the master branch before making a PR. 76 | 77 | **14.** Click on `Create Pull Request`. 78 | 79 | **15.** Hurray ❗ You have created a PR to the Space Voyager Website 💥 . Sit back patiently and relax till then the project maintainers will review your PR. Please understand, there will be some time taken to review a PR and can vary from a few hours to a few days too so be Patient and keep contributing. 80 | 81 | Happy Hacktoberfest! 82 | 83 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, 4 | email, or any other method with the owners of this repository before making a change. 5 | 6 | Please note we have a code of conduct, please follow it in all your interactions with the project. 7 | 8 | ## Pull Request Process 9 | 10 | 1. Ensure any install or build dependencies are removed before the end of the layer when doing a 11 | build. 12 | 2. Update the README.md with details of changes to the interface, this includes new environment 13 | variables, exposed ports, useful file locations and container parameters. 14 | 3. Increase the version numbers in any examples files and the README.md to the new version that this 15 | Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/). 16 | 4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you 17 | do not have permission to do that, you may request the second reviewer to merge it for you. 18 | 19 | ## Code of Conduct 20 | 21 | ### Our Pledge 22 | 23 | In the interest of fostering an open and welcoming environment, we as 24 | contributors and maintainers pledge to making participation in our project and 25 | our community a harassment-free experience for everyone, regardless of age, body 26 | size, disability, ethnicity, gender identity and expression, level of experience, 27 | nationality, personal appearance, race, religion, or sexual identity and 28 | orientation. 29 | 30 | ### Our Standards 31 | 32 | Examples of behavior that contributes to creating a positive environment 33 | include: 34 | 35 | * Using welcoming and inclusive language 36 | * Being respectful of differing viewpoints and experiences 37 | * Gracefully accepting constructive criticism 38 | * Focusing on what is best for the community 39 | * Showing empathy towards other community members 40 | 41 | Examples of unacceptable behavior by participants include: 42 | 43 | * The use of sexualized language or imagery and unwelcome sexual attention or 44 | advances 45 | * Trolling, insulting/derogatory comments, and personal or political attacks 46 | * Public or private harassment 47 | * Publishing others' private information, such as a physical or electronic 48 | address, without explicit permission 49 | * Other conduct which could reasonably be considered inappropriate in a 50 | professional setting 51 | 52 | ### Our Responsibilities 53 | 54 | Project maintainers are responsible for clarifying the standards of acceptable 55 | behavior and are expected to take appropriate and fair corrective action in 56 | response to any instances of unacceptable behavior. 57 | 58 | Project maintainers have the right and responsibility to remove, edit, or 59 | reject comments, commits, code, wiki edits, issues, and other contributions 60 | that are not aligned to this Code of Conduct, or to ban temporarily or 61 | permanently any contributor for other behaviors that they deem inappropriate, 62 | threatening, offensive, or harmful. 63 | 64 | ### Scope 65 | 66 | This Code of Conduct applies both within project spaces and in public spaces 67 | when an individual is representing the project or its community. Examples of 68 | representing a project or community include using an official project e-mail 69 | address, posting via an official social media account, or acting as an appointed 70 | representative at an online or offline event. Representation of a project may be 71 | further defined and clarified by project maintainers. 72 | 73 | ### Enforcement 74 | 75 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 76 | reported by contacting the project team at [INSERT EMAIL ADDRESS]. All 77 | complaints will be reviewed and investigated and will result in a response that 78 | is deemed necessary and appropriate to the circumstances. The project team is 79 | obligated to maintain confidentiality with regard to the reporter of an incident. 80 | Further details of specific enforcement policies may be posted separately. 81 | 82 | Project maintainers who do not follow or enforce the Code of Conduct in good 83 | faith may face temporary or permanent repercussions as determined by other 84 | members of the project's leadership. 85 | 86 | ### Attribution 87 | 88 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 89 | available at [http://contributor-covenant.org/version/1/4][version] 90 | 91 | [homepage]: http://contributor-covenant.org 92 | [version]: http://contributor-covenant.org/version/1/4/ 93 | -------------------------------------------------------------------------------- /src/components/index.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans&family=Poppins:wght@300&family=Secular+One&display=swap'); 2 | 3 | body { 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: border-box; 7 | background-color: rgb(19, 2, 117); 8 | overflow-y: scroll; 9 | } 10 | 11 | body::-webkit-scrollbar { 12 | display: none; 13 | } 14 | 15 | .main_heading { 16 | text-align: center; 17 | padding: 1rem; 18 | margin: 1rem; 19 | background-color: rgb(91, 63, 245); 20 | border-radius: 5px; 21 | } 22 | 23 | .text h1 { 24 | font-family: 'Secular One', sans-serif; 25 | font-size: 4.5rem; 26 | color: white; 27 | } 28 | 29 | .text p { 30 | font-family: 'Secular One', sans-serif; 31 | color: white; 32 | font-size: 1.5rem; 33 | } 34 | .image1 img { 35 | float: left; 36 | margin: 2rem; 37 | width: 12%; 38 | animation: rotation infinite 10s linear; 39 | } 40 | .image2 img { 41 | float: right; 42 | width: 12%; 43 | margin: 2rem; 44 | animation: rotation infinite 10s linear; 45 | } 46 | 47 | @keyframes rotation { 48 | from { 49 | transform: rotate(0deg); 50 | } 51 | 52 | to { 53 | transform: rotate(360deg); 54 | } 55 | } 56 | 57 | .particle { 58 | position: absolute; 59 | z-index: -1; 60 | width: 100%; 61 | } 62 | 63 | .body { 64 | text-align: left; 65 | padding: 1rem; 66 | margin: 3rem; 67 | background-color: rgb(85, 102, 255); 68 | border-radius: 5px; 69 | } 70 | 71 | .searchkabox { 72 | text-align: center; 73 | } 74 | 75 | .searchkabox .searchbar { 76 | background-color: rgb(225, 228, 255); 77 | padding: 1rem; 78 | width: 80%; 79 | border: none; 80 | outline: none; 81 | border-radius: 5px; 82 | border-color: white; 83 | } 84 | /* .searchbar { 85 | outline: none; 86 | width: 85%; 87 | padding: 1rem; 88 | background-color: white; 89 | border: none; 90 | border-radius: 4px; 91 | display: inline-block; 92 | } */ 93 | 94 | input[type='submit'] { 95 | padding: 1rem; 96 | margin: 0.5rem; 97 | border-radius: 5px; 98 | outline: none; 99 | border: none; 100 | font-size: 1rem; 101 | font-weight: bold; 102 | transition: cubic-bezier(0.075, 0.82, 0.165, 1) background-color 0.4s; 103 | } 104 | input[type='submit']:hover { 105 | padding: 1rem; 106 | margin: 0.5rem; 107 | cursor: pointer; 108 | border-radius: 5px; 109 | outline: none; 110 | border: none; 111 | font-size: 1rem; 112 | font-weight: bold; 113 | background-color: rgb(85, 102, 255); 114 | } 115 | 116 | .searchkabox .searchbar::placeholder { 117 | font-weight: bold; 118 | color: rgb(82, 82, 82); 119 | font-size: 1rem; 120 | width: 100%; 121 | display: inline-block; 122 | } 123 | 124 | .detailbox { 125 | position: relative; 126 | margin: 3rem; 127 | text-align: left; 128 | } 129 | .detailbox h2 { 130 | color: white; 131 | font-family: 'Merriweather Sans', sans-serif; 132 | font-size: 3rem; 133 | border-bottom: 2px solid whitesmoke; 134 | } 135 | 136 | .planimg { 137 | float: right; 138 | } 139 | 140 | .planimg img { 141 | width: 400px; 142 | height: 400px; 143 | margin: 6rem; 144 | animation: rotation infinite 15s linear; 145 | } 146 | .bar { 147 | text-align: center; 148 | } 149 | 150 | /* .bar img { 151 | width: 6%; 152 | height: 6%; 153 | margin: 2rem; 154 | cursor: pointer; 155 | animation: rotation infinite 15s linear; 156 | } */ 157 | .deepbox { 158 | position: relative; 159 | margin: 3rem; 160 | text-align: left; 161 | } 162 | 163 | .deepbox h3 { 164 | color: white; 165 | font-family: Poppins; 166 | font-size: 1.5rem; 167 | font-weight: 300; 168 | display: list-item; 169 | list-style-type: '🪐'; 170 | list-style-position: inside; 171 | } 172 | 173 | .deepbox p { 174 | display: flex; 175 | justify-content: left; 176 | flex-wrap: wrap; 177 | text-align: justify; 178 | } 179 | 180 | .end h2 { 181 | font-size: 1.5rem; 182 | color: white; 183 | text-align: center; 184 | font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; 185 | } 186 | 187 | .end a { 188 | color: rgb(251, 255, 0); 189 | } 190 | 191 | @media only screen and (max-width: 670px) { 192 | .searchbar { 193 | width: 80vw; 194 | } 195 | } 196 | 197 | @media only screen and (max-width: 600px) { 198 | .planimg img { 199 | width: 300px; 200 | height: 300px; 201 | margin: 4rem; 202 | animation: rotation infinite 15s linear; 203 | } 204 | } 205 | @media only screen and (max-width: 430px) { 206 | .planimg img { 207 | width: 300px; 208 | height: 300px; 209 | margin: 2rem; 210 | animation: rotation infinite 15s linear; 211 | } 212 | 213 | .text p{ 214 | font-size: 0.8rem; 215 | } 216 | } 217 | @media only screen and (max-width: 550px) { 218 | .planimg img { 219 | width: 300px; 220 | height: 300px; 221 | margin: 4rem; 222 | animation: rotation infinite 15s linear; 223 | } 224 | 225 | .text p{ 226 | font-size: 1.2rem; 227 | } 228 | } -------------------------------------------------------------------------------- /src/components/satellite/Satellite.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import styles from "./Satellite.module.css"; 3 | import LoadTimeSat from "./Loadtimesat"; 4 | import Error from "../Error"; 5 | import { allCountriesList } from "countries-code"; 6 | import Constants from "../Constant"; 7 | export default class Satellite extends Component { 8 | constructor(props) { 9 | super(props); 10 | this.state = { 11 | search: "", 12 | /** 13 | * @type { 14 | * moderateInfo : { 15 | * name: string, 16 | * date_of_launch: string, 17 | * sattelite_bus : string, 18 | * country_of_origin: string, 19 | * operator: string, 20 | * type:string, 21 | * coverage : string, 22 | * } 23 | *} 24 | */ 25 | data: null, 26 | error: false, 27 | suggestedResults: [], 28 | }; 29 | this.state.handleSubmit = this.handleSubmit.bind(this); 30 | this.state.handleChange = this.handleChange.bind(this); 31 | } 32 | handleSubmit = async (e) => { 33 | e.preventDefault(); 34 | this.setState({ error: false, data: null }); 35 | const value = e.target.children[0].value; 36 | if (!this.inputIsValid(value)) return; 37 | e.target.children[0].value = ""; 38 | const data = await this.fetchSatellitesData(value); 39 | if (data) { 40 | this.setState({ data: data[0].Sattelite }); 41 | } else { 42 | this.setState({ error: true }); 43 | } 44 | }; 45 | handleChange = async (e) => { 46 | e.preventDefault(); 47 | const value = e.target.value; 48 | if (!this.inputIsValid(value)) return; 49 | const suggestedResults = await this.fetchSatellitesData(value); 50 | if (!suggestedResults) { 51 | this.setState({ suggestedResults: [] }); 52 | return; 53 | } 54 | const trimmedResults = suggestedResults.slice(0, 10); 55 | const satNames = []; 56 | for (const res of trimmedResults) { 57 | satNames.push(res.Sattelite.moderateInfo.name); 58 | } 59 | satNames.sort(); 60 | this.setState({ suggestedResults: satNames }); 61 | }; 62 | fetchSatellitesData = async (satName) => { 63 | try { 64 | const response = await fetch(Constants.URL + encodeURIComponent(satName)); 65 | return await response.json(); 66 | } catch (e) { 67 | return null; 68 | } 69 | }; 70 | inputIsValid = (inputStr) => { 71 | return inputStr && inputStr.trim() !== ""; 72 | }; 73 | renderSuggestedSattelites(sats) { 74 | return sats.map(function (s) { 75 | return ; 76 | }); 77 | } 78 | render() { 79 | return ( 80 |
81 |
82 |
83 | 90 | 91 | {this.renderSuggestedSattelites(this.state.suggestedResults)} 92 | 93 | 94 |
95 |
96 | {(this.state.error && ) || 97 | (this.state.data && ( 98 |
99 |

100 | {this.state.data.moderateInfo.name}{" "} 101 | {this.state.data.moderateInfo.country_of_origin && ( 102 | 109 | x.country_name_en.toLowerCase() === 110 | this.state.data.moderateInfo.country_of_origin.toLowerCase() 111 | ) 112 | ?.alpha2?.toLowerCase() 113 | ? allCountriesList() 114 | .find( 115 | (x) => 116 | x.country_name_en.toLowerCase() === 117 | this.state.data.moderateInfo.country_of_origin.toLowerCase() 118 | ) 119 | ?.alpha2?.toLowerCase() 120 | : this.state.data.moderateInfo.country_of_origin === 121 | "United States" 122 | ? "us" 123 | : undefined) + 124 | "/flat/64.png" 125 | } 126 | > 127 | )} 128 |

129 |
130 |

Name : {this.state.data.moderateInfo.name}

131 |

132 | Country :{" "} 133 | {this.state.data.moderateInfo.country_of_origin ?? "N/A"} 134 |

135 |

136 | Date of Launch : {this.state.data.moderateInfo.date_of_launch} 137 |

138 |

Type : {this.state.data.moderateInfo.type ?? "N/A"}

139 |

140 | Coverage : {this.state.data.moderateInfo.coverage ?? "N/A"} 141 |

142 |

143 | Operator : {this.state.data.moderateInfo.operator ?? "N/A"} 144 |

145 |

146 | Satellite Bus :{" "} 147 | {this.state.data.moderateInfo.sattelite_bus ?? "N/A"} 148 |

149 |
150 | )) || } 151 |
152 | ); 153 | } 154 | } 155 | -------------------------------------------------------------------------------- /src/Landingpage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import img1 from "./components/img1.png"; 3 | import { BrowserRouter as Router, Link } from "react-router-dom"; 4 | import {Routes, Route} from "react-router-dom" 5 | import Particles from "react-particles-js"; 6 | import App from "./App"; 7 | import "./components/index.css"; 8 | import IssMap from "./components/iss-map/IssMap.js"; 9 | import "./Landingpage.css"; 10 | import WelcomePage from "./components/WelcomePage"; 11 | import Satellite from "./components/satellite/Satellite"; 12 | import Apod from "./components/apod/Apod"; 13 | import Tilt from "react-parallax-tilt"; 14 | import Try from "./components/Try"; 15 | const scrollToBottom = () => { 16 | window.scrollTo({ 17 | top: document.documentElement.scrollHeight, 18 | behavior: "auto", 19 | /* you can also use 'auto' behaviour 20 | in place of 'smooth' */ 21 | }); 22 | }; 23 | const LandingPage = () => { 24 | return ( 25 | <> 26 |
27 |
28 | main 29 |
30 | 31 |
32 | main 33 |
34 |
35 |

Space Voyager

36 | 37 | {/*

*/} 38 | 42 | {/* 51 | Welcome to the Space Exploration World ! 52 | */} 53 |
54 |
55 | 106 | 107 |
108 | 109 | 110 | mkdv 111 | 112 | Home 113 | 114 | 115 | 116 | 117 | 122 | mkdv 123 | Explore Planets 124 | 125 | 126 | 127 | 128 | 129 | mkdv 130 | ISS Live Location 131 | 132 | 133 | 134 | 135 | 140 | mkdv 141 | Satellites 142 | 143 | 144 | 145 | 146 | 151 | mkdv 152 | Apod 153 | 154 | 155 |
156 | 157 | } /> 158 | } /> 159 | } /> 160 | } /> 161 | } /> 162 | 163 | 164 |
165 |

166 | {" "} 167 |
168 | 173 | 174 | 175 |
176 | Made with 💗 in React by{" "} 177 | Mohit 178 |

179 |
180 |
181 | 182 | ); 183 | }; 184 | 185 | export default LandingPage; 186 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Citizen Code of Conduct 2 | 3 | ## 1. Purpose 4 | 5 | A primary goal of Space Voyager is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). 6 | 7 | This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. 8 | 9 | We invite all those who participate in Space Voyager to help us create safe and positive experiences for everyone. 10 | 11 | ## 2. Open [Source/Culture/Tech] Citizenship 12 | 13 | A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. 14 | 15 | Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. 16 | 17 | If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. 18 | 19 | ## 3. Expected Behavior 20 | 21 | The following behaviors are expected and requested of all community members: 22 | 23 | * Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. 24 | * Exercise consideration and respect in your speech and actions. 25 | * Attempt collaboration before conflict. 26 | * Refrain from demeaning, discriminatory, or harassing behavior and speech. 27 | * Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. 28 | * Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. 29 | 30 | ## 4. Unacceptable Behavior 31 | 32 | The following behaviors are considered harassment and are unacceptable within our community: 33 | 34 | * Violence, threats of violence or violent language directed against another person. 35 | * Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. 36 | * Posting or displaying sexually explicit or violent material. 37 | * Posting or threatening to post other people's personally identifying information ("doxing"). 38 | * Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. 39 | * Inappropriate photography or recording. 40 | * Inappropriate physical contact. You should have someone's consent before touching them. 41 | * Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. 42 | * Deliberate intimidation, stalking or following (online or in person). 43 | * Advocating for, or encouraging, any of the above behavior. 44 | * Sustained disruption of community events, including talks and presentations. 45 | 46 | ## 5. Weapons Policy 47 | 48 | No weapons will be allowed at Space Voyager events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter. 49 | 50 | ## 6. Consequences of Unacceptable Behavior 51 | 52 | Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. 53 | 54 | Anyone asked to stop unacceptable behavior is expected to comply immediately. 55 | 56 | If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). 57 | 58 | ## 7. Reporting Guidelines 59 | 60 | If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. . 61 | 62 | 63 | 64 | Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. 65 | 66 | ## 8. Addressing Grievances 67 | 68 | If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify space-voyager-21 with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. 69 | 70 | 71 | 72 | ## 9. Scope 73 | 74 | We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business. 75 | 76 | This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. 77 | 78 | ## 10. Contact info 79 | 80 | 81 | 82 | ## 11. License and attribution 83 | 84 | The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). 85 | 86 | Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). 87 | 88 | _Revision 2.3. Posted 6 March 2017._ 89 | 90 | _Revision 2.2. Posted 4 February 2016._ 91 | 92 | _Revision 2.1. Posted 23 June 2014._ 93 | 94 | _Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. Posted 17 March 2013._ 95 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from "react"; 2 | import "./components/index.css"; 3 | import img1 from "./components/img1.png"; 4 | import "animate.css"; 5 | import "./components/error.css"; 6 | import "./components/LoadTimePage.css"; 7 | import LoadTime from "./components/LoadTimePage"; 8 | import axiosInstance from "./axios"; 9 | import ErrorComponent from "./components/Error"; 10 | import Constants from "./components/Constant"; 11 | import { BrowserRouter, Link } from "react-router-dom"; 12 | import {Routes, Route} from "react-router-dom"; 13 | import Particles from "react-particles-js"; 14 | import IssMap from "./components/iss-map/IssMap"; 15 | 16 | import "./PlanetStyles.css"; 17 | 18 | function App() { 19 | const [data, setData] = useState([]); 20 | const [path, setPath] = useState([]); 21 | const [query, setQuery] = useState(""); 22 | const [error, setError] = useState(false); 23 | const [load, setLoad] = useState(false); 24 | const [querystatus, setquerystatus] = useState(false); 25 | // const fetchApidata = async () => { 26 | // const api = await fetch('https://api.le-systeme-solaire.net/rest/bodies/'); 27 | // const apiData = await api.json(); 28 | // console.log(apiData); 29 | // setData(apiData.bodies); 30 | // ?key=23519497-32dcbbb5403142627fd458559&q=yellow+flowers&image_type=photo&pretty=true 31 | // } 32 | 33 | useEffect(() => { 34 | setLoad(true); 35 | setError(false); 36 | setquerystatus(false); 37 | }, []); 38 | useEffect(() => { 39 | const p = Array.from(document.querySelectorAll(".planet-button")); 40 | p.filter((e) => e.classList.contains("planet-is-active")).forEach((e) => { 41 | e.classList.remove("planet-is-active"); 42 | }); 43 | p.find((x) => 44 | x.classList.contains("planet-" + data?.englishName?.toLowerCase()) 45 | )?.classList.toggle("planet-is-active"); 46 | }, [data]); 47 | const storeData = async (query) => { 48 | try { 49 | setError(false); 50 | const result = await axiosInstance.get(query); 51 | setData(result.data); 52 | try { 53 | const imgPath = require("../assets/" + 54 | result.data.englishName + 55 | ".png").default; 56 | setPath(imgPath); 57 | } catch { 58 | setPath(img1); 59 | } 60 | setquerystatus(true); 61 | setQuery(""); 62 | } catch (error) { 63 | setData(""); 64 | setError(true); 65 | setquerystatus(true); 66 | } 67 | }; 68 | 69 | const fetchData = (event) => { 70 | event.preventDefault(); 71 | storeData(query); 72 | }; 73 | 74 | const planetClick = (event, planetName) => { 75 | event.preventDefault(); 76 | storeData(planetName); 77 | }; 78 | 79 | return ( 80 | 81 | {/*
82 |
83 | main 84 |
85 |
86 | main 87 |
88 |
89 |

Space Voyager

90 | 91 |

Explore the space at fingertips

92 |
93 |
*/} 94 | 95 | 96 |
97 |
98 | setQuery(e.target.value)} 103 | value={query} 104 | /> 105 | 106 |
107 |
108 |
109 |
110 | {/* Earth */} 111 | 124 | 137 | 150 | 163 | 176 | 189 | 202 | 215 | 228 |
229 |
230 | 235 | {error && } 236 | {typeof data.name != "undefined" ? ( 237 | <> 238 |
239 |

{data.englishName}

240 |
241 |
242 | planimg 243 |
244 | 245 |
246 |

247 | {" "} 248 | Mass of {data.englishName} : {data.mass.massValue}{" "} 249 | × 10{data.mass.massExponent} kg{" "} 250 |

251 |

252 | {" "} 253 | Mean Temperature of {data.englishName} : {data.avgTemp} K{" "} 254 |

255 |

256 | {" "} 257 | Mean radius of {data.englishName} : {data.meanRadius} km{" "} 258 |

259 |

260 | {" "} 261 | Equitorial Radius of {data.englishName} : {data.equaRadius} km{" "} 262 |

263 |

264 | {" "} 265 | Polar radius of {data.englishName} : {data.polarRadius} km{" "} 266 |

267 |

268 | {" "} 269 | Surface Gravity of {data.englishName} : {data.gravity} m/s 270 | 2{" "} 271 |

272 |

273 | {" "} 274 | Escape Velocity of {data.englishName} :{" "} 275 | {Math.floor(data.escape / 1000).toFixed(2)} km/s{" "} 276 |

277 |

278 | {" "} 279 | Axial tilt of {data.englishName} : {data.axialTilt} °{" "} 280 |

281 |

282 | {" "} 283 | Rotation period of {data.englishName}: {data.sideralRotation}{" "} 284 | hrs{" "} 285 |

286 |

287 | {" "} 288 | Revolution period of {data.englishName}: {data.sideralOrbit}{" "} 289 | days{" "} 290 |

291 |

292 | {" "} 293 | Density of {data.englishName}: {data.density} g/cm3{" "} 294 |

295 |

296 | {" "} 297 | Aphelion of {data.englishName}: {data.aphelion} km{" "} 298 |

299 |

300 | {" "} 301 | Perihelion period of {data.englishName}: {data.perihelion} km{" "} 302 |

303 | {/*

Moons of {data.englishName}: {data.moons.map((elem, index) =>{ 304 | return ( {elem.moon}, ) 305 | })} 306 |

*/} 307 |
308 | 309 | ) : ( 310 | "" 311 | )} 312 | {error === false && load && querystatus === false && } 313 | {/* View ISS Location */} 314 |
315 |
316 | {/*
317 |

318 | {" "} 319 | Made with 💗 in React by{" "} 320 | Mohit 321 |

322 |
*/} 323 |
324 | ); 325 | } 326 | export default App; 327 | --------------------------------------------------------------------------------