├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── docker-compose.yml ├── docs ├── FAQ.md ├── browser-tools.md ├── contributing.md ├── design.md ├── doc10.md ├── doc11.md ├── earth-space-program.md ├── governance.md ├── guide.md ├── high-level-guide.md ├── intro-level-1.md ├── intro-level-2.md ├── intro-level-3.md ├── intro-level-4.md ├── overview.md ├── participate.md ├── photographing-sats.md ├── project-history.md ├── proof-of-sat.md ├── roadmap-decentralization.md ├── roadmap.md ├── software.md ├── space-sustainability.md ├── start-here.md ├── station-locations.md ├── trusat-independence.md ├── updating.md └── your-account.md ├── website ├── README.md ├── blog │ ├── 2016-03-11-blog-post.md │ ├── 2017-04-10-blog-post-two.md │ ├── 2017-09-25-testing-rss.md │ ├── 2017-09-26-adding-rss.md │ └── 2017-10-24-new-version-1.0.0.md ├── core │ └── Footer.js ├── package-lock.json ├── package.json ├── pages │ └── en │ │ ├── hello-world.js │ │ ├── help.js │ │ └── users.js ├── sidebars.json ├── siteConfig.js └── static │ ├── TruSat-Charter-Epoch-1-Signed.pdf │ ├── css │ └── custom.css │ ├── img │ ├── TruSat-Launch-Event.jpg │ ├── UD Step 1.JPG │ ├── UD Step 2.JPG │ ├── UD Step 3.JPG │ ├── UD Step 4.JPG │ ├── UD Step 5.JPG │ ├── UD Step 6.JPG │ ├── UD Step 7.JPG │ ├── UD Step 8.JPG │ ├── UD Step 9.JPG │ ├── favicon.ico │ ├── illustration-gameplan-brightened-640px.jpg │ ├── illustration-mission-640px.jpg │ ├── illustration-observation2-640px.jpg │ ├── illustration-open_source-640px.png │ ├── illustration-trash2-640px.jpg │ ├── learning_hub-illustrations-covers-200415-1434-01.jpg │ ├── learning_hub-illustrations-covers-200415-1434-02.jpg │ ├── learning_hub-illustrations-covers-200415-1434-03.jpg │ ├── learning_hub-illustrations-covers-200415-1434-04.jpg │ ├── learning_hub-illustrations-covers-200415-1434-05.jpg │ ├── learning_hub-illustrations-covers-200415-1434-06.jpg │ ├── learning_hub-illustrations-covers-200415-1434-07.jpg │ ├── learning_hub-illustrations-covers-200415-1434-08.jpg │ ├── learning_hub-illustrations-covers-200415-1434-09.jpg │ ├── learning_hub-partners.jpg │ ├── oss_logo.png │ ├── software-webinar-screenshot.jpg │ ├── trusat-GalaxyS10_Mock--cropped--200420-0014b.gif │ ├── trusat-feature-image_processing_queue.jpg │ ├── undraw_code_review.svg │ ├── undraw_monitor.svg │ ├── undraw_note_list.svg │ ├── undraw_online.svg │ ├── undraw_open_source.svg │ ├── undraw_operating_system.svg │ ├── undraw_react.svg │ ├── undraw_tweetstorm.svg │ ├── undraw_void.svg │ └── undraw_youtube_tutorial.svg │ └── index.html └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- 1 | */node_modules 2 | *.log 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | node_modules 4 | 5 | lib/core/metadata.js 6 | lib/core/MetadataBlog.js 7 | 8 | website/translated_docs 9 | website/build/ 10 | website/yarn.lock 11 | website/node_modules 12 | website/i18n/* 13 | website/build 14 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:lts 2 | 3 | WORKDIR /app/website 4 | 5 | EXPOSE 3000 35729 6 | COPY ./docs /app/docs 7 | COPY ./website /app/website 8 | RUN yarn install 9 | 10 | CMD ["yarn", "start"] 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## TruSat Learn 2 | 3 | ### What is this? 4 | 5 | This is the documentation for the [TruSat](https://trusat.org) project and it was bootstrapped with a fork of [Docusaurus](https://docusaurus.io/). 6 | 7 | The [React](https://github.com/facebook/react) app deployed at [https://learn.trusat.org](https://learn.trusat.org) can be found in the `/website` directory. 8 | 9 | The [README](https://github.com/trusat/trusat-learn/tree/master/website) for the `/website` directory has some further advice on how to navigate this repository and contribute changes/additions to the content. 10 | 11 | ### Get Started 12 | 13 | You can clone the repo, install all the dependencies and run the app in development mode with the following commands in your Terminal: 14 | 15 | ``` 16 | git clone https://github.com/trusat/trusat-learn.git trusat-learn 17 | cd trusat-learn/website && yarn install && yarn start 18 | ``` 19 | 20 | This should open http://localhost:3000 in your default browser. The page will automatically reload if you make changes to the code. 21 | 22 | ### Governance 23 | 24 | TBD 25 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | services: 4 | docusaurus: 5 | build: . 6 | ports: 7 | - 3000:3000 8 | - 35729:35729 9 | volumes: 10 | - ./docs:/app/docs 11 | - ./website/blog:/app/website/blog 12 | - ./website/core:/app/website/core 13 | - ./website/i18n:/app/website/i18n 14 | - ./website/pages:/app/website/pages 15 | - ./website/static:/app/website/static 16 | - ./website/sidebars.json:/app/website/sidebars.json 17 | - ./website/siteConfig.js:/app/website/siteConfig.js 18 | working_dir: /app/website 19 | -------------------------------------------------------------------------------- /docs/FAQ.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: FAQ 3 | title: F.A.Q. 4 | sidebar_label: F.A.Q. 5 | --- 6 | 7 | ## What Problems is TruSat Designed to Solve? 8 | 9 | ### What is space sustainability? 10 | 11 | Space sustainability is about preserving the use of outer space, and all of its socioeconomic benefits, for present and future generations. The primary threat to the long-term usability of space is Earth-orbital debris: non-functional spacecraft, pieces of spacecraft discarded in the course of space missions, and fragments from collisions between spacecraft, and from spacecraft destroyed by weapons tests. While outer space is infinitely large, the orbital positions around Earth suitable for the myriad space applications on which we depend are finite and increasingly congested. 12 | 13 | Global public awareness and concern about space sustainability is rising with the deployment of the first of thousands of satellites comprising so-called “mega-constellations” to provide broadband internet service from low Earth orbit (“LEO”). To put these constellations in perspective, the satellites planned for deployment by just three companies would add as approximately 46,000 satellites to the LEO environment in the 2025-2030 time horizon; roughly a 25X increase above the present population of operational satellites. As LEO grows increasingly congested, so grows the risk not only of collisions—between operational satellites or debris—but also catastrophic, cascading chains of collisions rendering vital swaths of Earth orbits unusable for generations. 14 | 15 | ### How does satellite tracking relate to space sustainability? 16 | 17 | There is no air traffic control-like authority directing this growing space traffic. Enlightened satellite operators, governments, and civil society are coming together to define guidelines and standards for sustainable orbital operations. The efficacy of such standards will depend accountability for adhering to them. However, independent assessment of satellite operations against sustainability standards requires a freely-accessible, globally trusted record of satellites orbital positions. TruSat is designed to fill this gap. 18 | 19 | ### Don’t governments and companies already track objects in space? 20 | 21 | A handful of national governments track objects in space for national security purposes, and make a portion of their data publicly available. While these government programs are vital, they are not suited for independent assessment of compliance with space sustainability standards. Because a single national government controls the data, whose creation is neither transparent nor verifiable, it is not always trusted as a source of truth by all involved in space sustainability applications. 22 | 23 | ## How TruSat Works 24 | 25 | ### What is TruSat? 26 | 27 | TruSat is an open source, citizen-powered system for creating a trusted record of satellite orbits in service of the long-term sustainability of outer space. This TruSat System comprises two main elements: satellite observers, who make and report satellite observations, and TruSat software that autonomously processes observations of a satellite from multiple points around Earth into an orbit prediction and confidence assessment of that prediction. Space sustainability advocates may task the TruSat System to observe satellites of interest for sustainability purposes, and utilize the resulting data. 28 | 29 | The TruSat system is developed and maintained by the TruSat Open Source Community. In addition to developing the TruSat Software, this global community of contributors provide valuable input on feature roadmaps, author documentation and other content that enable a diverse range of contributors, and translate them into multiple languages. 30 | 31 | ### Who uses TruSat’s record of satellite orbits? 32 | 33 | TruSat’s data is openly available without restriction to anyone who chooses to use it. TruSat is designed to provide space sustainability advocates data suitable for assessing satellite operations against emerging standards for responsible orbital operations Spacecraft operators, NGOs, and Research Institutions often use this type of data to support their operations and research about objects in space. 34 | 35 | ### Why should anyone trust TruSat’s record of satellite orbits 36 | 37 | TruSat is architected for trust. Whereas trust in existing sources of SSA data depend on trust in the humans and institutions in the loop—that the orbital prediction reflects a competent analysis of the sensor data, free of any institutional interests—TruSat substitutes transparent, verifiable algorithms for institutional input. While humans are involved in generating the initial satellite observation data fed into the System, TruSat’s Proof of Satellite software engine is entirely automated, leaving no room for tampering. Unlike existing sources of SSA data, the entirety of the algorithms that translates individual satellite observations into an orbital prediction with a confidence assessment—the confidence factors applied, and their weighting—are transparent, enabling any orbital prediction to be reverse-engineered. Built atop the Ethereum blockchain, TruSat will periodically check its file and data integrity against tamper-evident blockchain records, ensuring that the algorithms in effect at any given time are those approved by the TruSat Community. Additional verifiability of TruSat’s orbital predictions comes courtesy of nature: any person may physically observe a satellite in the TruSat catalog to verify the accuracy of the orbital prediction. 38 | 39 | ### Why a citizen-powered system? 40 | 41 | The diversity of observations of a satellite (by geography, nationality, etc.) help to promote trust in the resulting data. 42 | 43 | TruSat is also designed to provide opportunities for concerned citizens to make concrete, measurable contributions to the long-term sustainability of outer space. 44 | 45 | ## Using the TruSat Prototype 46 | 47 | ### How do I track satellites? 48 | 49 | This [tutorial](https://learn.trusat.org/docs/guide) will walk you through it. 50 | 51 | ### What does “prototype” mean in the context of TruSat? 52 | 53 | The version 0.1 TruSat software released on October 21, 2019 is an engineering prototype intended for testing and refining core elements for generating orbit predictions from observations of a satellite from multiple points around Earth. This early prototype has only a fraction of TruSat’s planned features and functionality. Notably absent in this first release are features for easing the process of making and submitting satellite observations; it relies on a relatively manual workflow for formatting observation data for submission. 54 | 55 | ### Where is the smartphone app for tracking satellites? 56 | 57 | The smartphone app depicted in the TruSat video is a representation of how accessible and seamless we aim to make the process of making and reporting satellite observations. We are exploring several avenues of utilizing ubiquitous consumer devices to automate and simplify the process as much as possible, including smartphone apps and features for automatically extracting Initial Orbit Determination data from digital photographs. ConsenSys Space is planning to host hackathons to build many of these features. Whether you want to share your ideas for these features or help to build them, we hope you’ll [join the TruSat Community](https://trusat.org/join). 58 | 59 | In the meantime, several smartphone apps such as SkyView offer augmented reality features that take much of the manual work out of finding a satellite in the night sky. [See how you can use a smartphone app to find satellites here](https://learn.trusat.org/docs/guide). 60 | 61 | ### What equipment do I need to observe a satellite? 62 | 63 | While many satellites are visible to the naked eye in locations without much light pollution, a pair of binoculars and accurate clock will enable you to reliably observe and track satellites. As explained in these [instructional materials](https://learn.trusat.org/docs/guide), a range of smartphone apps and online resources will tell you when and where in the sky to look, based on your location. If you have a digital SLR camera and tripod, you can use it to make satellite observations, as explained here. 64 | 65 | ### What is the secret that was emailed to me when I created an account? 66 | 67 | In TruSat the identity of users is verified by a unique address found in their Ethereum wallet. You can see your address by hovering over your name in your profile page. When you sign up with an email and password, the following process happens under the hood: 68 | 69 | - An Ethereum wallet is created for you in your browser (TruSat never has access to your wallet) 70 | - The wallet is then encrypted with the password you provided to create a unique "Secret" 71 | - This secret is emailed to you 72 | 73 | In future when you need to sign in again you must verify that you are the owner of the Ethereum address tied to your identity by providing two things: 74 | 75 | - The secret 76 | - The password (now used to decrypt your wallet) 77 | 78 | Therefore it is vital that you take care to store your secret and password somewhere safe. If you wish to protect your identity (wallet) in a more secure way, perhaps you can consider the browser plugin [MetaMask](https://metamask.io/). See your settings page for a handy guide on how to migrate away from the email/password/secret login flow to a more streamlined and secure one-click login via MetaMask. 79 | 80 | ## Building TruSat’s Future 81 | 82 | ### What does the TruSat roadmap look like? 83 | 84 | Features and functionality that ease the process of making and submitting satellite observations, making TruSat accessible to the broadest-possible range of participants, are a key priority in the roadmap. 85 | 86 | TruSat’s algorithms for calculating orbits and confidence assessments will be continuously refined by TruSat’s open source community. 87 | 88 | The TruSat roadmap contemplates a progressive decentralization of the TruSat system and its governance, in connection with a migration to Ethereum mainnet. Migration to Ethereum mainnet will enable a range of enhancements to security, trust architecture, and the introduction of extrinsic incentives for participation. 89 | 90 | ### How can I contribute to TruSat other than by making satellite observations? 91 | 92 | TruSat depends on the diverse skillsets of its global Open Source Community, from developing new software features to creating content in multiple languages to enable people around the world to participate and contribute. To learn more about these opportunities, please [join the Community](https://trusat.org/join). 93 | 94 | [Visit here](https://learn.trusat.org/docs/participate#3-support-the-mission)to explore how to contribute. 95 | 96 | 97 | ### How does TruSat make money? 98 | 99 | As the TruSat.org domain signifies, TruSat is designed to generate a global public good rather than profit. 100 | 101 | ### How is TruSat governed? 102 | 103 | The [TruSat Charter](https://trusat.org/charter) specifies the governance arrangements for the TruSat System and Open Source Community. The Charter will be regularly revised to meet the governance needs of the Community and to give effect to its Guiding Principles. Each version of the Charter is identified by an Epoch: a period measured in time or milestones in which that version is in effect. 104 | 105 | 106 | Have any other questions? Please bring them to the [Help Desk thread topic of the TruSat Forum](https://discuss.trusat.org/t/trusat-help-desk/15/30) 107 | 108 | -------------------------------------------------------------------------------- /docs/browser-tools.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: browser-tools 3 | title: Step-by-step tutorial for satellite tracking 4 | sidebar_label: Step-by-step tutorial for satellite tracking 5 | --- 6 | 7 | 8 | 9 | ## Parts required: 10 | 11 | - Internet connection 12 | - Desktop or laptop 13 | - Smartphone 14 | 15 | ## Planning 16 | 17 | ### Step 1: Determine when the ISS will be visible from your location 18 | 19 | - Input your location in Heavens Above 20 | - Go to [Heavens-Above.com](https://www.heavens-above.com/) (best viewed on desktop). 21 | - Confirm that Heavens-Above knows your observing location (which allows it to tell you exactly when and where to look), by looking at the “location” noted in the top-right corner of the page. If this location doesn’t match where you’ll be observing from, click the [latitude/longitude](https://www.heavens-above.com/SelectLocation.aspx) to input your location. From here you can search for your location, or input your lat/long from [Google Maps](https://support.google.com/maps/answer/18539?co=GENIE.Platform%3DDesktop&hl=en) 22 | 23 | ![Heavens Above location settings](https://trusat-learn-assets.s3.amazonaws.com/heavens-above-1.jpg) 24 | 25 | - Click “update” at the bottom of the page to set your location. 26 | 27 | ## Find the best time to observe 28 | 29 | - Check the upcoming ISS passes [here](https://www.heavens-above.com/PassSummary.aspx?satid=25544&lat=0&lng=0&loc=Unspecified&alt=0&tz=UCT). Each row in the table is an opportunity to see it. Scan the dates in the table to find a day and time when you’ll be available to observe. 30 | 31 | ![Heavens Above visible passes table](https://trusat-learn-assets.s3.amazonaws.com/heavens-above-2.jpg) 32 | 33 | - Here’s a guide to the columns: 34 | - Brightness: Lower magnitudes indicates a brighter object 35 | - Start: The time, compass direction, and altitude to see the ISS when it first becomes visible. For most satellites, this will be ~10° above the horizon. 36 | - Highest point: As the satellite passes by you, there will be a single point in its arc that’s highest above the horizon. Given clear weather, this will usually be when the satellite is most visible, as the light passes to your eye through less of the Earth’s atmosphere 37 | - End: The point at which the satellite is no longer visible. Sometimes this is when the satellite drops back behind the horizon. Other times it’s when the satellite passes into Earth’s shadow, where it can no longer reflect the direct shine of sunlight. 38 | - If the ISS doesn’t seem to be visible at a convenient or near-term time for your location, try picking another satellite from Heavens-Above’s daily [list of brightest satellites](https://www.heavens-above.com/AllSats.aspx). 39 | - Make sure the weather will be clear enough to observe, with as few clouds as possible. 40 | 41 | ### Step 2: Plan your observation with a star chart 42 | 43 | #### Load the star chart 44 | 45 | - When you’ve decided on which ISS pass you plan to observe, click on the “star chart” link for the respective pass. 46 | 47 | ![Heavens Above start chart](https://trusat-learn-assets.s3.amazonaws.com/heavens-above-3.jpg) 48 | 49 | - On the next page, scroll down to see the star chart you can use to familiarize yourself with the arc of the ISS’s path 50 | - The ISS appears as an arcing string of light-grey spheres traveling from the edge of the star chart (the horizon) until crossing into the Earth’s shadow. 51 | - If you want to enlarge the image, change the “output size” dropdown to a higher number (located in the green “Simulation” box above the chart and to the left). 52 | 53 | #### Find your “finish line” 54 | 55 | - A basic satellite observation only needs two pieces of info: 56 | - Your location (which you already have) 57 | - The time at which you observe the satellite cross an imaginary line between two known stars. We’ll call this a “finish line.” 58 | - To find your finish line, look at the constellations near the ISS’s path and take note of the brightest stars (indicated by larger grey dots) that the ISS path passes between. 59 | - Pick two stars can serve as reference points between which you can imagine drawing your finish line. Once you’re outside, you’ll need to note the exact time when the ISS crosses this line. 60 | 61 | ![Heavens Above "finish line"](https://trusat-learn-assets.s3.amazonaws.com/heavens-above-4.jpg) 62 | 63 | - To find the name of the stars, check the label that appears above the star chart when you hover the mouse over the stars’ dots. 64 | 65 | ## Observing 66 | 67 | ### Step 3: Watch the skies 68 | 69 | - When it’s about time for the satellite pass, position yourself outside with enough time to get oriented with the stars. Bring a coat if it’s cold! 70 | - If you’ve been viewing your star chart on a desktop computer, and want to take the image with you outside, you can text yourself the link to the image, or print it out on paper. 71 | - There are also mobile apps that can help you read the stars and find satellites: 72 | - SkyView Lite - Free - [Android](https://play.google.com/store/apps/details?id=com.t11.skyviewfree&hl=en_US), [iOS](https://apps.apple.com/us/app/skyview-lite/id413936865) 73 | - Orbitrack - \$4.99 - [Android](https://play.google.com/store/apps/details?id=com.southernstars.orbitrack), [iOS](https://apps.apple.com/us/app/orbitrack/id1092984911) 74 | 75 | ![Orbitrack app](https://trusat-learn-assets.s3.amazonaws.com/orbit-track.jpg)(Orbitrack app) 76 | 77 | - Find the reference stars you identified in the star map to imagine your “finish line” spanning between. It may turn out that the stars you chose from the star map are not actually visible. In this case, use the star map or one of the mobile apps above to help identify the names of the stars that are visible and suitable for your finish line. If the ISS isn’t predicted to pass between any two visible stars, but other stars are still visible, you can choose two stars to draw your finish line between and extend it beyond 78 | - Now just keep an eye on your reference stars at the times the ISS is predicted to pass by, and be ready to record the exact time. The 79 | 80 | Note: If you have a camera suitable for photographing the satellite, skip ahead to the photography section at the bottom of this doc, then move on to Step 6. 81 | 82 | ### Step 4: Record the crossing time 83 | 84 | When the ISS crosses the finish line, note the exact time. If you don’t have a phone that displays the time with exact seconds (most don’t), try one of these methods: 85 | 86 | 1. Freeze Time app [(Android)](https://play.google.com/store/apps/details?id=com.sandcreeksoftware.raceclock&hl=en_US) 87 | This app functions like a stopwatch, but shows the precise time. 88 | 89 | ![Freeze Time app](https://trusat-learn-assets.s3.amazonaws.com/freeze-time.jpg) 90 | 91 | 2. A digital (or physical) stopwatch. Start the stopwatch when you want to record your time, but don’t hit stop yet. Look at a clock and wait until the clock turns to the next minute. Stop the stopwatch just as the minute changes, then subtract the time on the stopwatch from the time on the clock to get the exact time of observation. 92 | 93 | 3. Take a throw-away photo or screenshot with your phone at the point when you want to record an observation. Don’t worry about capturing a real image with the photo. The photo will contain meta-data with the exact time, which you can view on a computer. If photo’s meta-data doesn’t seem to show time down to the second, upload the photo [here](http://exif.regex.info/exif.cgi). 94 | 95 | ## Processing 96 | 97 | ### Step 5: Convert your data into coordinates 98 | 99 | Our goal now is to determine the exact coordinates for the position in the sky where you observed the satellite, using [right ascension and declination](https://www.skyandtelescope.com/astronomy-resources/right-ascension-declination-celestial-coordinates/)—which are like latitude and longitude for the skies. 100 | 101 | #### Save your star chart 102 | 103 | - Visit [CalSky.com](https://www.calsky.com/) on a desktop computer. 104 | - Similar to Heavens Above, enter the coordinates where you observed from, in the top-right corner of the site. 105 | 106 | ![Calsky](https://trusat-learn-assets.s3.amazonaws.com/calsky-1.jpg) 107 | 108 | - Visit their [ISS page](https://www.calsky.com/cs.cgi/Satellites/4?) (or [search here](https://www.calsky.com/cs.cgi/Satellites/1?) if you’re tracking a different satellite) 109 | - Enter the day and time when you made the observation and click the circular, blue-green “go” button on the right. 110 | 111 | ![ISS page](https://trusat-learn-assets.s3.amazonaws.com/iss-page-1.jpg) 112 | 113 | - After the page refreshes, scroll down to see a list of passes, find the pass that matches your observation, and click “star chart.” The ISS should appear as an arc across the chart. 114 | 115 | ![ISS page](https://trusat-learn-assets.s3.amazonaws.com/iss-page-2.jpg) 116 | 117 | #### Find your reference stars 118 | 119 | - When you hover your mouse over stars, it will display their name above the chart. Find the reference stars you used to draw your imaginary finish line. 120 | - If the arc representing the ISS does not cross this line in the chart, you may need to “rewind” or “fast-forward” time by changing the time settings by a few minutes back or forward, which will update the chart. Adjust the time until the arc of the ISS passes between your reference stars. 121 | 122 | ![Reference stars](https://trusat-learn-assets.s3.amazonaws.com/iss-page-3.jpg) 123 | 124 | #### Draw your finish line 125 | 126 | - Save or screenshot the chart. In the next few steps, we’ll explain how to draw your finish line within Google Docs, but feel free to use a drawing app of your choice 127 | - Navigate here, to the very bottom of this Google Doc 128 | - At the top menu bar of this Google Doc, click the “Insert” menu, select “Drawing”, and click “+New” 129 | - In the drawing canvas pop-up, click the image icon (![image icon](https://trusat-learn-assets.s3.amazonaws.com/image-icon.jpg)) and upload your star chart. 130 | - Now click the line icon (![line icon](https://trusat-learn-assets.s3.amazonaws.com/line-icon.jpg)) and drag a finish line between your two reference stars. 131 | - Click the line-color icon (![line-color icon](https://trusat-learn-assets.s3.amazonaws.com/line-color-icon.jpg)) to change the line color to yellow, so that it’s visible against the black background. 132 | - Click “Save and close.” 133 | 134 | ![finish line](https://trusat-learn-assets.s3.amazonaws.com/finish+line.jpg) 135 | 136 | #### Find the crossing point in CalSky 137 | 138 | - Now you can use the star chart in this doc as a reference image to help you navigate the interactive star chart on CalSky 139 | - With the reference image and CalSky chart visible side-by-side, use your mouse in the interactive chart to hover over the point where the ISS’s arc passes through the finish line. Write down the “R.A.” and “Dec” that appears above the chart. This pair of numbers for right ascension and declination is the last ingredient you’ll need to submit your observation. 140 | 141 | #### Some tips for the above process 142 | 143 | - To ensure as much accuracy as possible with the above method, you’ll need to fiddle with the field of view for CalSky’s star chart. Ideally, the reference stars and crossing point of the ISS’s arc span as much of the image as possible (rather than taking up only a small section of the image). This ensures the ISS’s arc displays at a large enough scale to return more precise coordinates when you mouse over the arc. 144 | - To create these ideal conditions in the image, first change the “output size” dropdown to “1080” (located in the green “Simulation” box above the chart and to the left). 145 | - You may also need to adjust the “Field of view (width)” dropdown under the “Pointing” green box. 146 | - Adjusting the “Select interval” dropdown to around 1 second will create more snapshots of the ISS on its arc to hover over with the mouse (dropdown located with the time settings at the top of the page) 147 | 148 | ### Step 6: Submit your data 149 | 150 | Now you have all of the information necessary to submit your observation to TruSat. 151 | 152 | - Go to [TruSat.org/submit/single](https://www.trusat.org/submit/single) 153 | 154 | ![TruSat submission form](https://trusat-learn-assets.s3.amazonaws.com/trusat-submit.jpg) 155 | 156 | - In the first field for “Station location”, you’ll need to follow the link to save your observation location with TruSat 157 | - Fill out the rest form and hit “submit” to contribute your data to the global record of satellite behavior! 158 | -------------------------------------------------------------------------------- /docs/contributing.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: contributing 3 | title: Contributing Code 4 | sidebar_label: Contributing Code 5 | --- 6 | 7 | The core maintainers of the TruSat [codebase](https://github.com/trusat) very much welcome contributions, especially those that tackle [open issues](https://github.com/trusat/trusat-frontend/issues)! If you wish to contribute, either open an issue then make a [pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) or make a pull request against a currently open issue. We also invite you to join the [TruSat Discord Server](https://discord.gg/SC76Wph) to engage in real-time conversation around the development needs of TruSat. 8 | 9 | ## Catching bugs / Requesting features 10 | 11 | If you find a bug when using TruSat please let us know! If you are familiar with GitHub you can help by opening an issue (making sure to label it as a `bug`). Similarly if you have a new feature that you like to see added to TruSat then open an issue, explain the feature and add the label `enhancement`. 12 | 13 | ## Branch naming convention 14 | 15 | TruSat maintainers use the following branch naming convention when using [Git](https://en.wikipedia.org/wiki/Git): 16 | 17 | - `master` - The production environment 18 | - `dev` - The branch used for deploying to the development/staging server environment 19 | - `feature/{name-of-feature}` - A feature branch 20 | - `bugfix/{name-of-bug-being-fixed}` - Fixing a bug larger in scope than a hotfix 21 | - `hotfix/{name-of-hotfix}` - Hotfix changes for production issues (branches off master) 22 | - `chore/{summary-of-chore}` - Cleaning up / organizing the code 23 | - `wip/{name-of-wip}` - Branched out for some “work in progress” stuff (not ready, can be experimental and you want to keep a remote copy) 24 | 25 | And here are some examples of branch names: 26 | 27 | - `feature/single-iod-form` 28 | - `feature/single-iod-form-styles` 29 | - `bugfix/whitepaper-not-rendering-on-ipad` 30 | - `hotfix/typo-on-welcome-page` 31 | - `chore/removing-unused-imports` 32 | - `wip/add-3box-for-authentication` 33 | 34 | ## Branch creation to opening a PR 35 | 36 | - In command line, checkout the development branch of the repository you have just cloned (named “dev”) with `git checkout dev` then `git pull` to ensure you have the latest development branch on your local machine 37 | - Referencing the branch naming convention outlined above determine the group and name for your branch then run `git checkout -b {group}/{name-of-group}` to create the new branch and check it out. 38 | - Commit early and commit often with clear and concise comments. All commits should remain focused in scope so try to avoid submitting PR's that contain unrelated commits. 39 | - Run `git push --set-upstream origin ` to add your new branch to the remote repo when you feel the work completed warrants a back up. 40 | - When ready to open a PR, use `git push` to add all your latest commits to the remote copy. 41 | - Do not open a PR without directing it to an open issue on GitHub. If an issue does not exist, create it and add a label. Here's an example: 42 | 43 | 44 | The "How To" page content is out of date when compared to the latest communication content found in the TruSat discuss forum 45 | 46 | - When ready click the green "New pull request" button on the "Pull requests" page for the repo on GitHub, making sure you are requesting to merge your branch into the development branch, and not master. The only branches that can open a PR to the “master” branch are those grouped as “hotfix” or “dev”. 47 | - Assign at least one reviewer to your PR. 48 | - Add detailed comments to outline what your PR achieves and make sure to reference the issue that will be closed by this PR by utilizing the issue number. Bulleted lists are preferred. For example: 49 | 50 | 51 | - Updates the “how to” view with the latest comms content 52 | - New styles added including a change of font to the headers which matches the latest changes to the "About" page. 53 | - This closes #32. 54 | 55 | - Do not open the PR if there are merge conflicts found. Instead - push a fix to your branch that clears the conflicts. 56 | - If no merge conflicts are found, open the PR. 57 | -------------------------------------------------------------------------------- /docs/design.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: design 3 | title: Design 4 | sidebar_label: Design 5 | --- 6 | 7 | ## Contributing to TruSat's design 8 | TruSat community members are free to contribute to TruSat's strategy and design. Common cases might include proposing UX concepts or UI specifications. To join the discussion on the evolving design needs of TruSat, visit the [TruSat Discord Server](https://discord.gg/SC76Wph). 9 | 10 | You may use your design tool of choice. TruSat’s initial designs were made via the free tier of Figma, a browser-based design tool. 11 | 12 | Updates to TruSat’s design follow the same basic procedure as that of any other update to TruSat. 13 | 14 | To propose a design update: 15 | - Create a new issue in [TruSat's frontend repo](https://github.com/consensys-space/trusat-frontend) 16 | - Describe the problem that the design addresses, and how the design solves the problem. 17 | - Attach images of the design. When practical, also include a link to the original design file. 18 | - Add the tag “design” to the issue, along with any other pertinent tags. 19 | - After publishing the issue, please add your design to the list of designs below, so that fellow design contributors can see all TruSat designs in one place. 20 | 21 | ## TruSat design files 22 | Please add your designs to this list. Link to issues or files where applicable, but feel free to submit loose sketches and ideas too: 23 | - TruSat catalog beta — [Figma doc](https://www.figma.com/file/p8e16JtZ2vX8UEq6uN9HYa/TruSat---Beta-Master-Designs?node-id=650%3A2811) 24 | - Capture observations — [Concept images](https://docs.google.com/presentation/d/1JCeppogLCg3CWWcW85AEmiAlnRlNtmkuB3gD5xf85eM/edit#slide=id.g745d18b404_0_64) [Figma doc](https://www.figma.com/file/ZhuhQePQlZ3TuTbnlvcZjH/TruSat---Capture-Observations-UX?node-id=6%3A2915) 25 | - Submit observation images — [Figma doc](https://www.figma.com/file/LEL9dzD9uC3NRstzF26SF7/TruSat---Image-processing?node-id=0%3A1) 26 | - Campaigns spec — [Figma doc](https://www.figma.com/file/BNcXYcUE8yrixSxqmbPkrf/TruSat---8%2F20%2F19---Campaigns-feature-spec?node-id=0%3A1) 27 | - Single IOD entry form — [Figma doc](https://www.figma.com/file/8FNsDfgPeGA9aHu671Pf8o/TruSat---Single-IOD-Entry-Form-Design?node-id=0%3A1) 28 | - Location management – [issue](https://github.com/consensys-space/trusat-frontend/issues/183), [Figma doc](https://www.figma.com/file/9NUQvidxULhcwqf2H9j3ID/TruSat---Location-Management-Designs?node-id=0%3A1) 29 | - Catalog activity dashboard – [project](https://github.com/orgs/TruSat/projects/2), [Figma doc](https://www.figma.com/file/ARaij3ZCP7lb52zP1Io8Dj/TruSat---Catalog?node-id=24%3A3) 30 | -------------------------------------------------------------------------------- /docs/doc10.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: doc4 3 | title: doc4 4 | sidebar_label: doc4 5 | --- 6 | -------------------------------------------------------------------------------- /docs/doc11.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: doc5 3 | title: doc5 4 | sidebar_label: doc5 5 | --- 6 | -------------------------------------------------------------------------------- /docs/earth-space-program.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: earth-space-program 3 | title: Earth Space Program 4 | sidebar_label: Broader Vision 5 | --- 6 | 7 | ## Broader Vision 8 | 9 | ### The Guiding Vision of Earth’s Space Program 10 | 11 | The exploration and development of outer space interests a great many people across our planet and yet is accessible to few. Even as more countries than ever before field space missions, opportunities to participate in space endeavors are concentrated in a small handful of institutions, in a smaller handful of countries, and limited to relatively narrow range of professional disciplines. As a consequence, human space endeavors benefit from only a fraction of the ideas, talents, and financial capital seeking to contribute. 12 | 13 | Much of the dazzling progress in space technology since the turn of the century can be attributed to billionaires so impatient with the pace of government space programs that they invested their fortunes and talents in starting their own space programs. Impatience with the pace of progress, good ideas, and a desire to contribute are not limited to billionaires, however; they are but the tip of a much larger iceberg. And yet the capital intensity of space endeavors keeps most would-be contributors beneath the water; doing almost anything in space requires a level of capital only a billionaire or national government could marshal. What most individuals could contribute would, by itself, be such a drop in the bucket to discourage trying. 14 | 15 | TruSat's founding team was guided by a vision for Earth’s Space Program: a global, citizen-led space program accountable to and controlled by its community of contributors. It is a vision for bottom-up collective action on an unprecedented scale, in which individual contributions, modest in isolation, are assembled into space activities on a scale only a handful of governments and billionaires have managed to date. 16 | 17 | The Ethereum blockchain presents a new technological foundation on which to build such Earth-scale collective action. Traditionally, individuals contributing time or money to a large endeavor do so on their trust in their fellow collaborators, or a central institution (a non-profit, company, or government). This significantly limits the scale of collaborative projects. At the largest possible scale—accommodating contributions from every country on Earth—it is impossible to know (and thus trust) a significant portion of one’s fellow contributors, and near-impossible for such a large, geographically distributed group of stakeholders to agree on a central entity trusted by all. At a fundamental level, Ethereum technology dispenses with the need for a trusted entity, or even to know one’s collaborators. In place of trusted individuals and institutions are transparent rules that are guaranteed to execute. 18 | 19 | As explained below, TruSat is a first step—a set of experiments in Earth-scale collective action—on the path to Earth’s Space Program. 20 | 21 | ### Diversifying, Democratizing, and Decentralizing Space Endeavors 22 | 23 | Embodied in the vision of Earth’s Space Program are imperatives to diversify, democratize, and decentralize space endeavors. 24 | 25 | To **diversify** space endeavors is to harness more of humankind’s potential. To bring more and different kinds of people off the sidelines and into the league of space contributors. Diversifying the pool of contributors increases the volume of resources available, as well as the breadth of ideas as perspectives and experiences, including those that have largely been absent to date. 26 | 27 | To **democratize** space endeavors is to make them accessible to anyone with a desire to contribute. This requires the creation of opportunities to participate, such as contributing funds, expertise, in-kind resources, participating in decisions, creating content, or collecting data. It also requires the removal of barriers to participation, beginning with overcoming perceptions that space is only for engineers and scientists with elite credentials. Making participation in space endeavors accessible to a wide swath of Earth’s population will require linguistic and technical translation, as well as user interfaces and technological aides that reduce knowledge barriers to making valuable contributions. 28 | 29 | To **decentralize** space endeavors is to apply space mission engineering practices to the institutions that carry them out. No company, government, or other institution is a single point of failure. To engineer a space program for multi-generational progress, it must be decentralized for resilience; to insulate long-term strategic planning on an Earth scale from shifting political and economic winds in individual countries. 30 | 31 | ### TruSat as an Experiment in Diversifying, Democratizing, and Decentralizing Space Endeavors 32 | 33 | TruSat is an experiment in bottom-up, Earth-scale collaboration to produce a result that heretofore required exquisite, expensive sensor networks. For individuals impatient with the halting pace of intergovernmental cooperation on space sustainability, it will provide opportunities to take direct, concrete action; to be a part of the solution. With its Proof of Satellite software engine and open, transparent architecture, TruSat can assemble individual satellite observations, which would not be of much use in isolation, into a trusted source of truth on orbital location; an unprecedented space sustainability tool. 34 | 35 | Geographical diversity—observations of a satellite from multiple points around Earth—enhances the accuracy of orbital predictions. Relying on visual observations of satellites, TruSat advantages participants in rural or less-developed locale, with less light pollution than cities. This inverts the traditional structure of opportunities to participate in space endeavors, which tend to be clustered around large cities. 36 | 37 | As an experiment in democratizing space endeavors, TruSat will reduce the knowledge and skill barriers to making and observing visual satellite observations. At present, making a visual observation of a satellite requires the observer to: 38 | 39 | - Utilize a web resource such as a [Heavens Above](https://www.heavens-above.com/), [CalSky](https://calsky.com/), or a smartphone app such as [SkyView](https://www.terminaleleven.com/satellites/iphone/), to determine where and when to look; 40 | - Orient binoculars or DSLR at the appropriate star pattern, and record the time the satellite crosses an imaginary line drawn between two stars; 41 | - Utilize imaging-based software such as sattools/stvid to calculate an Initial Orbit Determination (“IOD”) based on the observer’s location (GPS coordinates) and the timing of the image-detected satellite observation. 42 | 43 | The initial releases of TruSat, intended primarily to test and refine the Proof of Satellite software engine, will largely rely upon the above workflow, supplemented by tutorial resources. For some, the sporting element of “hunting” satellites in the night sky contributes to the appeal of the activity, scaling to a global, diverse pool of contributors will likely require a relatively simplified, seamless process for making satellite observations. As described above in the TruSat Product Roadmap, features that ease the process of making and observing satellites will be priorities for subsequent releases. 44 | 45 | TruSat’s roadmap contemplates decentralization on multiple levels in service of trust and resilience. At the software level, the community aims to implement TruSat on Ethereum mainnet, with decentralized, on-chain governance. Once completed, priorities for observation, as one example, will be determined by the TruSat community of contributors. 46 | 47 | TruSat’s decentralized architecture will help it to surmount the trust challenges of existing SSA networks. Trust in the SSA data generated by TruSat is not dependent on trust in any institution (whether ConsenSys Space or any of its partners). Every aspect of TruSat’s software and underlying algorithms will be open and transparent, and its SSA data this subject to verification. Trust but verify. 48 | 49 | At an institutional level, TruSat is intended to progressively decouple its longevity and progress from the support of any single institution. This is accomplished by spreading support for TruSat across multiple TruSat Partners, and developing TruSat as on open source project in which ConsenSys Space is one contributor among many. 50 | -------------------------------------------------------------------------------- /docs/guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: guide 3 | title: How to track satellites 4 | sidebar_label: Guide home 5 | --- 6 | 7 | ## The basics 8 | A set of lessons to introduce you to the process of satellite tracking: 9 | 10 |
11 | 12 |
13 | 14 |
15 |
16 |

17 | Level 1: Spot a satellite in the night sky 18 |

19 |
20 |
21 |
22 | 23 |
24 | 25 |
26 | 27 |
28 |
29 |

30 | Level 2: Find a specific satellite 31 |

32 |
33 |
34 | 35 |
36 | 37 |
38 |
39 |

40 | Level 3: Time a satellite 41 |

42 |
43 |
44 | 45 |
46 | 47 |
48 |
49 |

50 | Level 4: Format data for submission 51 |

52 |
53 |
54 |
55 | 56 | ## Tutorial 57 | A detailed guide for the proccess of making an observation without any equipment except for an internet connection: 58 |
59 | 60 |
61 | 62 |
63 |
64 |

65 | Step-by-step tutorial 66 |

67 |
68 |
69 |
70 | 71 | ## Topics of interest 72 | Go deeper into lessons focused on specific satellite-tracking subjects: 73 |
74 | 75 |
76 | 77 |
78 |
79 |

80 | Photographing a satellite 81 |

82 |
83 |
84 | 85 |
86 | 87 |
88 |
89 |

90 | An overview of satellite-tracking software (webcast) 91 |

92 |
93 |
94 |
95 | -------------------------------------------------------------------------------- /docs/high-level-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: high-level-guide 3 | title: High-level guide 4 | sidebar_label: High-level guide 5 | --- 6 | 7 | This page has been moved here: [Satellite tracking guide](guide) -------------------------------------------------------------------------------- /docs/intro-level-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: intro-level-1 3 | title: Level 1 - Spot a satellite in the night sky 4 | sidebar_label: Level 1 - Intro 5 | --- 6 | 7 | 8 | 9 | Spotting satellites in the night sky can be a relaxing, rewarding activity. The serenity of contemplating the night sky, the thrill of catching a satellite passing by at 28,000kph. 10 | 11 | ## What does Satellite Tracking Involve? 12 | 13 | 1. The time at which you observe the satellite cross an imaginary line between two known stars 14 | 2. Your location on Earth when you made this observation (Latitude, Longitude, and Elevation) 15 | 16 | If you’re new to the sport, don’t worry about trying to time a satellite on your first outing. We’ll walk you through a progression of activities to build your skills and help familiarize yourself with the night sky. 17 | 18 | Right now, timing a satellite is a relatively manual process and takes some practice. But we're working to continually add features to make this process easier. 19 | 20 | 21 | ## Spot a satellite in the night sky 22 | 23 | If you look up for long enough, you’ll see a star-like point of light moving continuously across the night sky. That’s a satellite! Spotting your first satellite this way, without worrying about timing it, is a good way to get acquainted with the night sky, and how satellites move through it (if it blinks, it’s probably an airplane). 24 | 25 | 1. Satellites are most visible in certain windows of the morning and evening, when the sun is low enough for a dark sky, but still high enough to cast light reflected by the satellite. The best time to spot a satellite is 30 - 90 minutes after sunset or before sunrise. Expect to see more stars than you can quickly count when scanning the sky in that time frame. 26 | 2. If it’s a clear night and you’re in an area without too much light pollution, you’ll be able to see a number of satellites with your bare eyes. A pair of binoculars will greatly increase the conditions in which you can spot satellites. 27 | 3. Train your eyes (or binoculars) on a fixed point in the night sky and wait. Relax, breathe deeply, and contemplate just how large our universe is. Pro tip: if you want to look straight up, laying on your back will save your neck. 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/intro-level-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: intro-level-2 3 | title: Level 2 - Find a specific satellite 4 | sidebar_label: Level 2 - Find a specific satellite 5 | --- 6 | 7 |
8 | The next level is looking at the right place at the right time to see a specific satellite. There are two easy methods to determine when and where to look in the night sky: 9 | 10 | ### Augmented reality mobile apps 11 | 12 | If you happen to be outside at night and want to spot a satellite on a whim, a smartphone app like SkyView ([Android](https://play.google.com/store/apps/details?id=com.t11.skyviewfree&hl=en_US) and [Apple](https://apps.apple.com/us/app/skyview-lite/id413936865)) will do most of the work for you. ([Orbitrack](http://southernstars.com/products/) is another great app with similar features, but there's currently no free version.) 13 | 14 | SkyView allows you to search their catalog for a satellite then the AR features of the app point you in the direction of the satellite you’re looking for. Apps like SkyView are best for impromptu satellite spotting sessions. 15 | 16 | 1. SkyView provides an AR fueled viewing experience that makes it fun and easy to spot bright satellites and other luminous objects in space. 17 | 18 | ![sky-view-1](https://trusat-assets.s3.amazonaws.com/howto-skyview-screenshot-1.png) 19 | 20 | 2. To find a specific satellite, simply use the search bar to look for objects like the International Space Station or click on Brightest Satellites for a full list of options. The paid version of the app has a more comprehensive list of satellites than the free version. 21 | 22 | ![sky-view-2](https://trusat-assets.s3.amazonaws.com/howto-skyview-screenshot-2.png) 23 | 24 | 3. SkyView will then return you to the AR experience. Move your phone in the direction on the on-screen arrow to find your chosen object. SkyView will show you where the satellite has recently passed as well its predicted path 25 | 26 | ![sky-view-3](https://trusat-assets.s3.amazonaws.com/howto-skyview-screenshot-3.png) 27 | 28 | 4. Once you have found your satellite, you can learn more information about its history and how it is currently used by clicking the info icon at the bottom of the AR experience. 29 | 30 | ![sky-view-4](https://trusat-assets.s3.amazonaws.com/howto-skyview-screenshot-4.png) 31 | 32 | ### Heavens Above and Calsky 33 | 34 | If you want to find a specific satellite, we recommend planning ahead because satellites in Low Earth Orbit (LEO) do not appear at the same spot and time each day. 35 | 36 | Sites like [Heavens Above](https://www.heavens-above.com/PassSummary.aspx?satid=25544&lat=0&lng=0&loc=Unspecified&alt=0&tz=UCT) and [CalSky](https://www.calsky.com/cs.cgi?cha=12&sec=4) will tell you all the times a particular satellite will be visible at your location, which passes will be easiest for you to see, and plot the satellite’s path along star maps. 37 | 38 | The International Space Station (ISS) is a good satellite to start with because it is quite bright (brighter than some planets). And there are people onboard! This video will walk you through using Heavens Above to plan your satellite hunt. 39 | -------------------------------------------------------------------------------- /docs/intro-level-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: intro-level-3 3 | title: Level 3 - Time a satellite 4 | sidebar_label: Level 3 - Time a satellite 5 | --- 6 | 7 |
8 | 9 | This is a narrated, screen recorded video for using Heavens Above to help track and time a satellite: 10 | 11 | [![Heavens Above tutorial](http://img.youtube.com/vi/DmSL1MweU7M/0.jpg)](http://www.youtube.com/watch?v=DmSL1MweU7M) 12 | 13 | 14 | ## Satellite timing with a digital camera 15 | 16 | You can use a camera to help spot satellites and record their positions. [Here's an intro](photographing-sats) to the topic. 17 | -------------------------------------------------------------------------------- /docs/intro-level-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: intro-level-4 3 | title: Level 4 - Time a satellite 4 | sidebar_label: Level 4 - Format data for submission 5 | --- 6 | 7 |
8 | 9 | Once you have timed a satellite, the final step is to input your time and location data into software that will calculate an initial orbit determination (IOD). 10 | 11 | At this time, translating basic observation data (time and location) into a format readable by version 0.1 TruSat Prototype requires a relatively advanced workflow, including use of free third-party software, and is not recommended for all but the most committed. 12 | 13 | Join the [TruSat Forum](http://discuss.trusat.org) to ask questions or offer tips on how to improve your satellite tracking skills. 14 | -------------------------------------------------------------------------------- /docs/overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: overview 3 | title: Overview 4 | sidebar_label: TruSat Overview 5 | --- 6 | 7 | To view the TruSat white paper in PDF form, you can read and download it [here](https://trusat-assets.s3.amazonaws.com/TruSat+White+Paper_v3.0.pdf). 8 | 9 | ## Introduction 10 | 11 | TruSat is an experimental open source, open-sensor system for creating a trusted record of satellite orbits. TruSat is primarily designed to enable the assessment of satellite operations in light of space sustainability standards. Space sustainability is about preserving the use of outer space, and all of its socioeconomic benefits, for present and future generations. 12 | 13 | See the United Nations' [Guidelines for the Long-term Sustainability of Outer Space Activities](https://www.unoosa.org/res/oosadoc/data/documents/2018/aac_1052018crp/aac_1052018crp_20_0_html/AC105_2018_CRP20E.pdf) 14 | 15 | As a practical matter, this means mitigating orbital debris, which can render orbits around Earth unusable for generations. Amid projections of a tenfold or more increase in the number of satellites in low Earth orbit (“LEO”), avoiding collisions between satellites is an increasingly urgent focus for space sustainability, and enlightened satellite operators, governments, and civil society are working to defineguidelines, best practices, andstandards for sustainable orbital operations. A crucial gap in these efforts is the absence of an open, widely-trusted source of data about the orbital position of satellites accessible for use in assessing compliance withthesesustainability standards. 1 16 | 17 | To fill this data gap, the TruSat System is designed to enable the emerging space sustainability community to “task” a global network of citizen satellite observers to track satellites of interest, utilizing ubiquitous consumer hardware, and to assemble observations from around the planet into a trusted record of orbital positions suitable for measuring orbital behavior against sustainability standards. The TruSat System comprises three elements: 18 | 19 | - Software for prioritizing satellite observations, assisting amateur satellite observers, and processing observations into orbital predictions; 20 | - Observers who make and report satellite observations; and 21 | - An interface with the space sustainability communityfor aligning the System’s satellite observation priorities with sustainability priorities. 22 | 23 | ## Space Sustainability 24 | [This section](space-sustainability) surveys the space sustainability landscape and situates TruSat within it. It describes an externality in the liability framework for space that leaves the incentives of satellite operators misaligned with the common interest in the long-term sustainability of spaceflight. On the one hand, satellite operators are not generally made to internalize the costs of collisions in orbit. On the other, many sustainability measures—such as maneuvers to avoid a potential collision or for end-of-life disposal—entail a cost to the operator, in terms of the operational life of the satellite. Faced with a probabilistic collision warning, an operator’s incentives may point to rolling the dice rather than maneuvering. 25 | 26 | Growing concern about space sustainability by the general public and regulators alike, coupled with the emergence of measurable, verifiable standards for sustainable satellite operations, could raise the costs to operators of unsustainable operations, bringing their incentives more in line with the long-term sustainability of outer space. However, the efficacy of sustainability standards depends on independent assessment of satellite operators’ conformity with them. This assessment function, in turn, requires a freely available source of orbital positiondata trusted by all involved. This element is missing. The trustworthiness of space situational awareness (“SSA”) data collected and publicly shared by a government has been widely questioned on account of national interests sometimes at odds with full transparency about satellite positions, and that governments, for national security reasons, neither share the full extent of their SSA data nor the sensor data or algorithms underlying it that would enable independent assessments of its accuracy. The business interests of commercial SSA data providers, which sell SSA data and analysis to satellite operators, raise similar questions about whether their data would be trusted by all parties, particularly in matters concerning present or prospective customers. 27 | 28 | TruSat is architected for trust. Whereas trust in existing sources of SSA data depend on trust in the humans and institutions in the loop—that the orbital prediction reflects a competent analysis of the sensor data, free of any institutional interests—TruSat substitutes transparent, verifiable algorithms for institutional input. While humans are involved in generating the initial satellite observation data fed into the System, TruSat’s Proof of Satellite software engine is entirely automated, leaving no room for tampering. 1 29 | 30 | Unlike existing sources of SSA data, the entirety of the algorithms that translates individual satellite observations into an orbital prediction with a confidence assessment—the confidence factors applied, and their weighting—are transparent, enabling any orbital prediction to be reverse-engineered. Built atop the Ethereum blockchain, TruSat will periodically check its file and data integrity against tamper-evident blockchain records, ensuring that the algorithms in effect at any given time are those approved by the TruSat Community. Additional verifiability of TruSat’s orbital predictions comes courtesy of nature: any person may physically observe a satellite in the TruSat catalog to verify the accuracy of the orbital prediction. 31 | 32 | 33 | ## How TruSat works 34 | [This section](proof-of-sat) provides a detailed technical overview of the Proof of Satellite software engine, illuminating the engineering challenges of creating an orbital location system that is open and permissionless (anyone may feed data into the system), and automated (the system evaluates and weights data, rather than a human administrator), and how each is addressed in the initial release. This section surveys foreseeable attack vectors—from malicious attempts to subvert the system by submitting false observations, to simple mistaken observations—and how the application of confidence factors mitigate each attack vector. Section III likewise explains how the same confidence factors are applied to provide a confidence assessment for each orbital prediction. These confidence factors and the algorithms applying and weighting them will be the subject of ongoing tuning and revision by the TruSat Open Source Community. 35 | 36 | 2. For a discussion of how TruSat mitigates efforts to tamper with orbital predictions by submitting false observations, see Section III.C: Mitigating Attack Vectors 37 | -------------------------------------------------------------------------------- /docs/participate.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: participate 3 | title: How to participate 4 | sidebar_label: How to participate 5 | --- 6 | 7 | TruSat is community-driven and community-built. By contributing your time, unique skills, and experience to TruSat, you become a steward of planet Earth and our species as a whole. 8 | 9 | Here are some ways to contribute right now: 10 | 11 | ## 1. Submit observations 12 | 13 | Submit observations 14 | 15 | TruSat is powered by satellite observations from citizen scientists around the world. 16 | 17 | To learn how to track satellites and make observations, check out the tutorials in the [Satellite Tracking Guide](high-level-guide). 18 | 19 | Once you’ve [created a TruSat account](http://trusat.org/signup) and made an observation, visit [this page](https://trusat.org/submit/single) to submit. 20 | 21 | 22 | ## 2. Contribute code 23 | 24 | Submit observations 25 | 26 | Are you a developer looking to pitch in or just sharpen your skills? Check out our [Github project board](https://github.com/orgs/TruSat/projects/1) to see all of the features, enhancements, and bugs our community is looking for your help with. 27 | 28 | And please give our [repos](https://github.com/trusat) a star to help our project gain visibility in the open-source community. 29 | 30 | 31 | ## 3. Support the mission 32 | 33 | Submit observations 34 | 35 | **You don’t need to know how to track sats or write code to help out.** 36 | 37 | Here's a list of tasks anyone can help with to advance TruSat's mission: 38 | 39 | **Easy** 40 | - **Submit requests for Learning Hub topics:** If there's anything specific you'd like to know more about, submit an issue in the [forum](https://discuss.trusat.org), or in the Learning Hub's [Github](https://github.com/TruSat/trusat-learn/issues). 41 | - **Report a bug:** Please let us know if you find any bugs or undesired behavior by starting a post in the [forum](https://discuss.trusat.org), or submitting an issue to our [Github](https://github.com/TruSat/trusat-frontend/issues). 42 | - **Voice your feature requests:** If you have an idea for a feature, we ant to hear about it. Feel free to post about it in the [forum](https://discuss.trusat.org), or submitting it as an issue on our [Github](https://github.com/TruSat/trusat-frontend/issues). 43 | - **Star our repos:** If you have a Github account, follow the [TruSat repos](https://github.com/trusat) to stay updated and please “star” the repos. This helps a lot with the project’s visibility. 44 | - **Join the TruSat Forum:** Sign up [here](http://discuss.trusat.org/). You'll receive emails with updates from the community and the project. 45 | - **Spread the word:** Do you know someone else who's interested in space? Tell them about TruSat! 46 | 47 | **More involved** 48 | - **Join the TruSat Development Chat:** To engage in real-time conversation on the development needs of TruSat, join the [TruSat Discord page](https://discord.gg/SC76Wph). 49 | - **Help us with our documentation:** Check out our [wishlist](https://github.com/TruSat/trusat-learn/issues) of topics and enhancements that we'd like to include in the Learning Hub. [Here's](updating) how you can help update this content. 50 | - **Help us educate newcomers on satellite-tracking topics:** There's so much more fascinating info around satellite-tracking than any one of us has time to create content for. Many of TruSat's visitors have valuable knowledge and know-how that others would benefit from learning. Take a look at the list of sections under the **Satellite Tracking Guide**, and feel free to add your own content. 51 | - **Help us with our feature specifications:** Beyond just making feature requests, we welcome any input that helps refine existing feature requests. If you have an interest in project/product management, or just want a more involved role in shaping TruSat's roadmap and features without touching code, check out our [Github Project Board](https://github.com/orgs/TruSat/projects/1) and [issue list](https://github.com/TruSat/trusat-frontend/issues) to see what we're working on. Feel free to voice your opinions by commenting on existing issues or opening your own. 52 | -------------------------------------------------------------------------------- /docs/photographing-sats.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: photographing-sats 3 | title: Intro to photographing satellites 4 | sidebar_label: Intro to photographing satellites 5 | --- 6 | 7 |
8 | 9 | ![Sat streak](https://trusat-assets.s3.amazonaws.com/dslr-photo.jpg) 10 | 11 | This page offers a brief introduction to utilizing a digital camera to track satellites. 12 | 13 | ## The advantage of photos 14 | 15 | Much like utilizing binoculars, the objective is ultimately to measure the precise location of a satellite at a specific time. Photos help create a permanent digital record that can be computer-processed for accuracy and automation. 16 | 17 | By pointing your camera at the star pattern and taking a series of pictures, the satellite will appear as a short arc against a star background — which can be used for a precise position reference. 18 | 19 | The camera electronics are more sensitive than your eyes, and even with a short exposure of a few seconds, you can see stars and satellites invisible to the unaided eye. Using free software, you can convert these images into formatted observation records which can be submitted to the TruSat catalog. 20 | 21 | ## What's needed 22 | 23 | - Digital SLR camera (or another digital camera with shutter controls) 24 | - 50-80mm lens 25 | - Tripod 26 | - A clear night shortly after sunset, or before sunrise. 27 | 28 | ## Getting started 29 | 30 | To determine the best place and time to point your camera, see this explainer video on how to use the [Heavens-Above](https://www.heavens-above.com/) website to predict visible satellite passes for your location: 31 | 32 | [![Heavens Above tutorial](http://img.youtube.com/vi/DmSL1MweU7M/0.jpg)](http://www.youtube.com/watch?v=DmSL1MweU7M) 33 | 34 | 35 | 36 | You will need to experiment with your camera settings, such as setting exposure durations long enough to capture enough stars to serve as a position reference for any satellite arcs you may capture. A quick way to determine if your images are good for satellite tracking is to submit a picture to [nova.astrometry.net](http://nova.astrometry.net/). If the site is able to compute the precise direction of your camera, you are on your way to satellite observing! 37 | 38 | ## Software 39 | 40 | Users who are getting started can use Windows programs like [ObsReduce](http://www.satobs.org/orbsoft.html) or [IODEntry](https://langbrom.home.xs4all.nl/software.html) to assist converting the information in your picture into a formatted observation records which can be submitted to the TruSat catalog. 41 | 42 | More advanced users familiar with compiling open source software can explore the [STVID](https://github.com/cbassa/stvid) project, which can directly interface with some digital cameras, automatically detect, extract, and process observation entries from the images it creates. Amateur satellite observers use this software to allow one person to make 100’s of satellite observations in one night! 43 | 44 | As we develop the TruSat roadmap, we hope to incorporate many of these tools and capabilities directly into TruSat.org 45 | 46 | 53 | -------------------------------------------------------------------------------- /docs/project-history.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: project-history 3 | title: TruSat Project History 4 | sidebar_label: Project History 5 | --- 6 | 7 | TruSat was initially designed by ConsenSys Space. With TruSat’s founding Partners, the Secure World Foundation, Professor Moriba Jah, and the Society of Women in Space Exploration, ConsenSys Space released the first TruSat prototype on October 21, 2019 at the International Astronautical Congress. 8 | 9 | ### TruSat Founding Partners 10 | 11 | 12 | ### TruSat Launch Event 13 | 14 | 15 | 16 | Epoch 1 Charter 17 | 18 | ### Transition to volunteer-led project 19 | In April of 2020, with the adoption of the [Epoch 2.0 TruSat Charter](governance.md), TruSat became an independent open source project, governed by its community of volunteer contributors. 20 | -------------------------------------------------------------------------------- /docs/roadmap-decentralization.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: roadmap-decentralization 3 | title: Decentralizing TruSat 4 | sidebar_label: Decentralizing TruSat 5 | --- 6 | 7 | In its initial prototype releases, TruSat will implement the following feature of blockchain functionality: 8 | 9 | - User identity via wallet-based login, and the associated Web3 onboarding opportunity. 10 | 11 | After implementing this basic feature, and demonstrating the broader utility and value of the [Proof of Satellite](proof-of-sat) engine, a transition to Ethereum mainnet will enable more advanced features: 12 | 13 | - 1. Registering of “authenticated” versions of code and algorithm base in the runtime code. 14 | - 2. Periodic consistency checking of tamper evidence by comparing with blockchain checkpoints for code-base and data-base. 15 | - 3. Improve user privacy by decentralizing the storage of station location data and implementing a system whereby only the "Proof of Satellite" algorithim can read the data to update TLEs. 16 | - 4. On-chain transactions for (up to) every observation block, and associated TLE prediction update. 17 | - 5. On-chain stores of value (reputation, incentives, NFTs, etc.). 18 | - 6. State-channel object storage (TLEs, algorithms, meta-data, etc.). 19 | 20 | 21 | 22 | #### Decentralizing the System and its Governance 23 | 24 | - Migrating to Ethereum Mainnet for decision democracy (e.g., for feature priority). 25 | - Decentralized system for “tasking” the network (i.e., prioritizing satellites for observation). 26 | - Decentralized governance of Proof of Satellite Engine upgrades. 27 | - Decentralized moderation of general TruSat codebase. 28 | - Community moderated “graduating” privileges of contributors. 29 | - A system for distributing rewards/incentives to contributors (see next section). 30 | 31 | #### Implementing On-Chain Incentives 32 | 33 | In its initial releases, TruSat depends on participation (i.e., satellite observations) by individuals motivated by a concern for space sustainability and a desire to be a part of the solution; and individuals who enjoy the “sport” of spotting satellites. 34 | 35 | - Relies on limited suite of Web2.0 mechanisms for enhancing the experience of sporting and sustainability-minded users (e.g., analytics and rankings, campaigns linked to sustainability objectives). 36 | - Migrating to Ethereum Mainnet will enable TruSat to implement a fuller set of incentives for participation, including, potentially, distribution of value created by the network to its data contributors. 37 | - There has never been a tool quite like this, and ascertaining how it is used is part of the experiment. This will inform the universe of possibilities and design of incentive structures for future releases, including potentially a token model. 38 | - Initial release is also dependent on the interests of the TruSat Partners in continuing to operate and develop this sustainability tool. Plan for release on Mainnet is to supply incentives for decentralized maintenance of this tool. 39 | -------------------------------------------------------------------------------- /docs/roadmap.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: roadmap 3 | title: TruSat Roadmap 4 | sidebar_label: Roadmap 5 | --- 6 | 7 | This is a list of the features and functionality the community envisions for TruSat. To date, the community has identified three broad lines of work for progressing TruSat from a prototype to a valuable resource for the long-term sustainability of spaceflight: 8 | - Accessibility: Making it easier and more enjoyable for more people to make and submit satellite observations, to grow and diversify TruSat’s global “sensor network.” This encompasses efforts ranging from tutorial materials for satellite tracking to hardware and software development to make data generation more efficient, easier, and fun. 9 | 10 | - Orbit determination: Refining the orbit determination algorithms to enhance the accuracy and usability of orbit predictions. 11 | 12 | - Decentralized Trust Architecture: Building and integrating the blockchain infrastructure to enable TruSat to function as a decentralized, autonomous orbit determination system providing transparent, trusted orbit predictions. 13 | 14 | This roadmap is dynamic and will evolve based on the Contributor capacity and community feedback. 15 | You can see what the community is working on in TruSat’s GitHub. Anyone is invited to further specify and build features from this list, or propose new ideas on our Discuss or Github. 16 | If you have an idea for a new feature or initiative and you’re willing to lead its creation, make a Proposal by creating a new issue in the appropriate TruSat repository on GitHub with [Proposal] in the title. More guidelines for submitting Ideas and Proposals can be found in the TruSat [Charter](https://learn.trusat.org/docs/trusat-charter). 17 | 18 | For a list of issues in progress, visit the TruSat [project boards](https://github.com/orgs/TruSat/projects) on Github. 19 | 20 | # 1. Accessibility 21 | ## Automated image processing and IOD extraction from photos 22 | We believe this is the highest-leverage way to increase the accessibility of satellite tracking, and to increase the volume of observations. 23 | 24 | Much of what is needed to integrate automated IOD extraction from digital camera images 25 | appears to be available in Cees Bassa’s sattools/stvid open-source code): 26 | - Receive image frame from a registered user (known location) 27 | - (Repeat) Plate-solving 28 | - Perform feature detection of image/image series, looking for known/expected objects based on user capability profile 29 | - Optionally, perform further algorithmic exploration of unidentified objects (UNIDs) 30 | - Extract position/time information, or verify the efficacy of user-provided IOD/UK/RDE-formatted position observation 31 | - Cross-Correlate existence of IOD object, with database state vectors (TLE, or more detailed internal format) 32 | 33 | A waypoint on the path towards a fully automatated image processing pipeline would be a tool that: 34 | - Allows observers to upload their satellite photos 35 | - Plate-solves with the help of the API at http://nova.astrometry.net/ 36 | - Provides a web interface for people to mark the x/y pixel coordinates of a satellite within the photo 37 | - Generates an IOD from the extracted above. 38 | 39 | [Here is a UX prototype](https://www.figma.com/proto/LEL9dzD9uC3NRstzF26SF7/TruSat---Image-submission-UX?node-id=63%3A3210&scaling=scale-down) of this feature. 40 | 41 | ![wireframes for image processing queue](/img/trusat-feature-image_processing_queue.jpg) 42 | 43 | 44 | Note: The person marking the satellite's x/y coordinates does not need to be the photographer. If the web interface provides a [Zooniverse](https://www.zooniverse.org/projects/zookeeper/galaxy-zoo/)-like queue of photos, this could help separate concerns between astrophotographers dumping photos containing satellites, and citizen scientists volunteering time to identify satellites (like with Zooniverse). 45 | 46 | ## When and where to look? (Pass prediction) 47 | Currently, observers need to use software outside of TruSat to see exactly when and where to look to see a satellite. An observer should have more guidance from TruSat on this. So much of the user experience could be better catered to individual observers if TruSat could account for your location when presenting information. 48 | - Creates a table of upcoming and potentially visible objects based on a User’s station location and Heaven’s Above pass prediction data. 49 | 50 | ## TruSat Mobile Capture 51 | 52 | [This deck](https://docs.google.com/presentation/d/1JCeppogLCg3CWWcW85AEmiAlnRlNtmkuB3gD5xf85eM/edit#slide=id.g745d18b404_0_64) illustrates some broad design concepts for a TruSat mobile app. 53 | - IOS/Android app for location-based mobile observations 54 | - [Desing wireframe sketches](https://www.figma.com/file/ZhuhQePQlZ3TuTbnlvcZjH/TruSat---Capture-Observations-UX?node-id=6%3A2915) 55 | 56 | Design concept mockup 57 | 58 | ## Direct tasking of motorized, software-enabled consumer telescopes or scriptable robotic observatories 59 | - Integration via INIDIHUB or similar application connects a network of observation stations and the data they produce. 60 | 61 | ## Activity Dashboard Interface (Release 1.1.0) 62 | [In-progress](https://github.com/orgs/TruSat/projects/2) 63 | - A dashboard interface displays the activity (new/all observations from that user, objects contributed) for users on the TruSat platform. 64 | - A dashboard interface displays the activity (new observations, new users, new objects) occurring across the TruSat platform. 65 | 66 | ## TruSat API Expansion 67 | - Creates command line queriable API endpoints for object TLEs, categories, and their magnitudes within the TruSat database. 68 | 69 | ## Radio generated TLEs 70 | - Integration with SatNOGS 71 | - Presence tags, verification of frequency 72 | - TLE submission via command-line scripts 73 | 74 | ## Object Search 75 | - A search box in the TruSat Catalog page that allows a user to query specific objects by their NORAD number or name 76 | 77 | # 2. Orbit Determination 78 | 79 | ## Roadmap for the trusat-orbit repository code: 80 | 81 | ### Near Term (next few weeks) 82 | [in-progress] 83 | 1. [x] Pull out loop-intensive functions into accelerated module 84 | 1. [ ] Set up Travis Continuous Integration Testing 85 | 1. [ ] Publish pypi trusat (trusat-orbit?) module 86 | 1. [ ] Expand documentation for using trusat.tle and trusat.iod modules 87 | 1. [ ] Create jupyter notebook for development, experimentation, visualization 88 | 1. [ ] Restore functionality of local IOD file processing with satfit. [Issue #8](https://github.com/consensys-space/trusat-orbit/issues/8) 89 | 1. [ ] Fix satid/elfind compatibility with python-skyfield 90 | 1. [ ] Incorporate XF functionality into TLE processing scripts (See tle_util.py header comments) 91 | 1. [ ] Transition python-skyfield dependencies to native python-sgp4 calls 92 | 93 | ### Mid Term (next few months) 94 | 1. [ ] Extend satfit functionality in PyQT module 95 | 1. [ ] Write verison of TLE Retrieve in PyQT, utilizing trusat.tle_util 96 | 1. [ ] Merge trusat-orbit and trusat-backend into a common repo and package 97 | 1. [ ] API access to all data (after SeeSat-L user opt-in/opt-out) 98 | 1. [ ] Secure compute for SITE data - allow geocentric (ICRS) observation vectors / observer location 99 | 100 | ### Long Term 101 | 1. [ ] Transition to modules compatible with OREKit and [UT-Austin orbdetpy](https://github.com/ut-astria/orbdetpy) 102 | 1. [ ] Full automation with user rank/trust, object priority and object confidence 103 | 1. [ ] Parallelized processing for super-compute applications 104 | 105 | # 3. Decentralized Trust Architecture 106 | Read [here](roadmap-decentralization) for more notes on decentralizing TruSat. 107 | 108 | ## Ethereum Mainnet Features 109 | - On-chain transactions for (up to) every observation block, and associated TLE prediction update. 110 | - On-chain stores of value (reputation, incentives, NFTs, etc.). 111 | - State-channel object storage (TLEs, algorithms, meta-data, etc.). 112 | 113 | ## Database IPFS integration 114 | - Provides a decentralized storage layer for: 115 | - TruSat catalog of TLE’s object images submitted for processing 116 | -------------------------------------------------------------------------------- /docs/software.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: software 3 | title: Software for satellite tracking 4 | sidebar_label: Software for satellite tracking 5 | --- 6 | 7 |
8 | 9 | ## Tracking sats with only a web browser 10 | Our [step-by-step tutorial](browser-tools) shows how to track satellites without installing any software beyond your web browser. Since satellite tracking software may be tricky for some to set up, we recommend trying this browser-only appraoch first. 11 | 12 | ## Overview of useful software 13 | 14 | [This webinar](https://consensys.zoom.us/recording/play/JV8ohcQkoHlFpMrYH_mM7DWzIO99zDIvxbiE6XwP5q6JmeGiXURidwredMv7NHGO?continueMode=true) with Chris Lewicki introduces some of the most commonly used software for tracking satellites. 15 | 16 |
17 | 18 | 19 | 20 | 21 | The software covered in this video includes: 22 | - [HeavenSat](http://www.sat.belastro.net/heavensat.ru/english/index.html) 23 | - [IOD Entry](https://langbrom.home.xs4all.nl/software.html) 24 | - [ObsReduce](http://www.satobs.org/programs/ObsReduce/ObsReduce.html) 25 | - [Sattools / Skymap](https://github.com/cbassa/sattools) 26 | 27 | ## More software 28 | For a more complete list of software, see [CelesTrak's list](https://www.celestrak.com/software/satellite/sat-trak.php). 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/start-here.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: start-here 3 | title: Start here 4 | sidebar_label: Start here 5 | --- 6 | 7 | ## What would you like to learn about? 8 | 9 | 10 |
11 | 12 |
13 | 14 |
15 |
16 |

17 | How to track satellites 18 |

19 |

20 | Guides, tutorials, and resources 21 |

22 |
23 |
24 | 25 |
26 | 27 |
28 |
29 |

30 | What TruSat does and why it exists 31 |

32 |

33 | TruSat’s vision to make space operations more sustainable and inclusive 34 |

35 |
36 |
37 | 38 |
39 | 40 |
41 |
42 |

43 | How to join the group building TruSat 44 |

45 |

46 | Become an open-source contributor, no coding skills required 47 |

48 |
49 |
50 |
51 | 52 | If you can't find the help you need here or in the [FAQ section](FAQ), please feel free to post questions in the [Forum](https://discuss.trusat.org/). -------------------------------------------------------------------------------- /docs/station-locations.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: station-locations 3 | title: Station Locations 4 | sidebar_label: Station Locations 5 | --- 6 | 7 | ## Why do I need to create a station to submit observations? 8 | For a satellite observation to be incorporated into an orbit determination, it needs to include the coordinates for the location from which the observation was made. We understand most people aren’t keen to share the coordinates of their backyard with the world. To build a transparent record of satellite behavior, while allowing people to maintain their privacy and contribute anonymously, TruSat uses a four-character station ID in place of your coordinates. This format extends the standard set by the Committee on Space Research (COSPAR). 9 | 10 | When you submit an observation, you’ll be asked to include your location. TruSat will publish your observations in your profile, but keep your location privately encrypted. 11 | 12 | ## How do I add a station? 13 | Go [here](https://www.trusat.org/settings/stations) to add a private station location to your profile. 14 | -------------------------------------------------------------------------------- /docs/trusat-independence.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: trusat-independence 3 | title: TruSat's Declaration of Independence 4 | sidebar_label: Declaration of Independence 5 | --- 6 | 7 | ### Tl;dr: 8 | - TruSat is now an independent, volunteer-led open source project. 9 | - The TruSat community needs your help, and it’s easy to get involved. 10 | - To continue the journey, please join the [TruSat Community Forum](http://discuss.trusat.org). 11 | 12 | 13 | ### Dear Friends, 14 | 15 | We are delighted to share that TruSat is now an independent, community-led open source project. With the adoption of the [Epoch 2.0 TruSat Charter](https://learn.trusat.org/docs/governance), control of the TruSat project has transitioned from [ConsenSys Space](https://consensys.space/) to a community of volunteer contributors. As a 100% community-powered project, TruSat needs your talents more than ever. And we just released v1.0.1 to make it easier and more efficient to join the global community of contributors. 16 | 17 | The transition of TruSat to a community-managed project was accelerated by the extraordinary economic conditions we’re living through, which has led ConsenSys Space to suspend its operations. Determined to give TruSat a chance to survive and thrive beyond ConsenSys Space, the original team behind TruSat will continue to support the project beyond their time with ConsenSys. Together with committed contributors, the original team has formed a Project Management Committee to carry the project forward. We invite you to join us and develop TruSat into a valuable tool for preserving the long-term sustainability of spaceflight. TruSat will be what we make of it. 18 | 19 | We wish to thank ConsenSys and the founding TruSat Partners, the Secure World Foundation, Professor Moriba Jah, and the Society of Women in Space Exploration, for their support in getting the project off the ground, and the community of intrepid “test pilots” who helped to refine TruSat and make it more accessible. 20 | 21 | This is the last communication you’ll receive through this email list. To continue on this journey, please join the [TruSat Community Forum](http://discuss.trusat.org). 22 | 23 | Clear Skies, 24 | 25 | The TruSat Project Management Committee: 26 | - Bianca Vasquez 27 | - Brad Young 28 | - Brian Israel 29 | - Chris Lewicki 30 | - Denis Zaytsev 31 | - John Gribbin 32 | - Kenan O'Neal 33 | - Kim Macharia 34 | - Michael Deal 35 | - Robert Keenan 36 | 37 | -------------------------------------------------------------------------------- /docs/updating.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: updating 3 | title: Updating this documentation 4 | sidebar_label: Updating this documentation 5 | --- 6 | 7 | Just like the [code](https://github.com/trusat) that underpins TruSat; this [documentation](https://github.com/trusat/trusat-learn) is also open-source, meaning anyone is welcome to make edits. 8 | 9 | If you want to edit any of the content please use the `EDIT` button to the top-right of any page you are viewing. This will bring you directly to where that specific page is hosted on [Github](https://github.com). If you don't already have a Github account you will need to create one. 10 | 11 | If you don't want to edit docs directly, please add your suggestions for edits in the [TruSat Forum](http://discuss.trusat.org/), where community members can help publish your changes. 12 | 13 | ### Markdown 14 | 15 | All of the pages of the TruSat documentation are written with Markdown - a lightweight `markup` language that you can use to add formatting elements to "plaintext" text documents. If you having never written anything using Markdown before then this [Basic Syntax Guide](https://www.markdownguide.org/basic-syntax/) will very quickly help you get up to speed. 16 | 17 | ### Using Github to submit your edits 18 | 19 | 1. Once you've selected a page to edit and have clicked the `Edit` button located on the top-right of the page, you will be brought to where that file is hosted. To edit the file click on the pencil icon near the top-right of the document body. 20 | ![UD Step 1](https://raw.githubusercontent.com/TruSat/trusat-learn/master/website/static/img/UD%20Step%202.JPG) 21 | 22 | 2. Now you can begin to update the documentation. Pay attention to the formating of the current documentation while you are making your edits. If you want to preview how your changes will appear in the published document, click the "Preview changes" tab near the top-left. 23 | ![UD Step 2](https://github.com/TruSat/trusat-learn/blob/master/website/static/img/UD%20Step%203.JPG?raw=true) 24 | 25 | 3. Once you have finished updating the documenation, look for the section labeled `Commit changes` towards the bottom of your screen. Please add a label and description to summarize what changes you have made to the documentation. Then click `Commit changes` to complete your edit. 26 | ![UD Step 3](https://github.com/TruSat/trusat-learn/blob/master/website/static/img/UD%20Step%204.JPG?raw=true) 27 | 28 | 4. You will then be taken to a page where you can confirm the changes you have made by opening a `pull request` to request that another community member reviews and "pulls" your update into the live site to publish it. You're welcome to edit other documents before making this pull request, to combine your edits into one request. Your request will then be reviewed and approved, or given feedback by a reviewer. 29 | -------------------------------------------------------------------------------- /docs/your-account.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: your-account 3 | title: Your account 4 | sidebar_label: Your account 5 | --- 6 | 7 | ## What is the secret that was emailed to me when I created an account? 8 | 9 | In TruSat the identity of users is verified by a unique address found in their Ethereum wallet. You can see your address by hovering over your name in your profile page. When you sign up with an email and password, the following process happens under the hood: 10 | 11 | - An Ethereum wallet is created for you in your browser (TruSat never has access to your wallet) 12 | - The wallet is then encrypted with the password you provided to create a unique "Secret" 13 | - This secret is emailed to you 14 | 15 | In future when you need to sign in again you must verify that you are the owner of the Ethereum address tied to your identity by providing two things: 16 | 17 | - The secret 18 | - The password (now used to decrypt your wallet) 19 | 20 | Therefore it is vital that you take care to store your secret and password somewhere safe. If you wish to protect your identity (wallet) in a more secure way, perhaps you can consider the browser plugin [MetaMask](https://metamask.io/). See your settings page for a handy guide on how to migrate away from the email/password/secret login flow to a more streamlined and secure one-click login via MetaMask. 21 | -------------------------------------------------------------------------------- /website/README.md: -------------------------------------------------------------------------------- 1 | This website was created with [Docusaurus](https://docusaurus.io/). 2 | 3 | # What's In This Document 4 | 5 | - [Get Started in 5 Minutes](#get-started-in-5-minutes) 6 | - [Directory Structure](#directory-structure) 7 | - [Editing Content](#editing-content) 8 | - [Adding Content](#adding-content) 9 | - [Full Documentation](#full-documentation) 10 | 11 | # Get Started in 5 Minutes 12 | 13 | 1. Make sure all the dependencies for the website are installed: 14 | 15 | ```sh 16 | # Install dependencies 17 | $ yarn 18 | ``` 19 | 20 | 2. Run your dev server: 21 | 22 | ```sh 23 | # Start the site 24 | $ yarn start 25 | ``` 26 | 27 | ## Directory Structure 28 | 29 | Your project file structure should look something like this 30 | 31 | ``` 32 | trusat-learn/ 33 | docs/ 34 | doc-1.md 35 | doc-2.md 36 | doc-3.md 37 | website/ 38 | blog/ 39 | 2016-3-11-oldest-post.md 40 | 2017-10-24-newest-post.md 41 | core/ 42 | node_modules/ 43 | pages/ 44 | static/ 45 | css/ 46 | img/ 47 | package.json 48 | sidebars.json 49 | siteConfig.js 50 | ``` 51 | 52 | # Editing Content 53 | 54 | ## Editing an existing docs page 55 | 56 | Edit docs by navigating to `docs/` and editing the corresponding document: 57 | 58 | `docs/doc-to-be-edited.md` 59 | 60 | ```markdown 61 | --- 62 | id: page-needs-edit 63 | title: This Doc Needs To Be Edited 64 | --- 65 | 66 | Edit me... 67 | ``` 68 | 69 | For more information about docs, click [here](https://docusaurus.io/docs/en/navigation) 70 | 71 | ## Editing an existing blog post 72 | 73 | Edit blog posts by navigating to `website/blog` and editing the corresponding post: 74 | 75 | `website/blog/post-to-be-edited.md` 76 | 77 | ```markdown 78 | --- 79 | id: post-needs-edit 80 | title: This Blog Post Needs To Be Edited 81 | --- 82 | 83 | Edit me... 84 | ``` 85 | 86 | For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog) 87 | 88 | # Adding Content 89 | 90 | ## Adding a new docs page to an existing sidebar 91 | 92 | 1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`: 93 | 94 | ```md 95 | --- 96 | id: newly-created-doc 97 | title: This Doc Needs To Be Edited 98 | --- 99 | 100 | My new content here.. 101 | ``` 102 | 103 | 1. Refer to that doc's ID in an existing sidebar in `website/sidebars.json`: 104 | 105 | ```javascript 106 | // Add newly-created-doc to the Getting Started category of docs 107 | { 108 | "docs": { 109 | "Getting Started": [ 110 | "quick-start", 111 | "newly-created-doc" // new doc here 112 | ], 113 | ... 114 | }, 115 | ... 116 | } 117 | ``` 118 | 119 | For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation) 120 | 121 | ## Adding a new blog post 122 | 123 | 1. Make sure there is a header link to your blog in `website/siteConfig.js`: 124 | 125 | `website/siteConfig.js` 126 | 127 | ```javascript 128 | headerLinks: [ 129 | ... 130 | { blog: true, label: 'Blog' }, 131 | ... 132 | ] 133 | ``` 134 | 135 | 2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in `website/blog`: 136 | 137 | `website/blog/2018-05-21-New-Blog-Post.md` 138 | 139 | ```markdown 140 | --- 141 | author: Frank Li 142 | authorURL: https://twitter.com/foobarbaz 143 | authorFBID: 503283835 144 | title: New Blog Post 145 | --- 146 | 147 | Lorem Ipsum... 148 | ``` 149 | 150 | For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog) 151 | 152 | ## Adding items to your site's top navigation bar 153 | 154 | 1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`: 155 | 156 | `website/siteConfig.js` 157 | 158 | ```javascript 159 | { 160 | headerLinks: [ 161 | ... 162 | /* you can add docs */ 163 | { doc: 'my-examples', label: 'Examples' }, 164 | /* you can add custom pages */ 165 | { page: 'help', label: 'Help' }, 166 | /* you can add external links */ 167 | { href: 'https://github.com/facebook/docusaurus', label: 'GitHub' }, 168 | ... 169 | ], 170 | ... 171 | } 172 | ``` 173 | 174 | For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation) 175 | 176 | ## Adding custom pages 177 | 178 | 1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`: 179 | 1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element: 180 | 181 | `website/siteConfig.js` 182 | 183 | ```javascript 184 | { 185 | headerLinks: [ 186 | ... 187 | { page: 'my-new-custom-page', label: 'My New Custom Page' }, 188 | ... 189 | ], 190 | ... 191 | } 192 | ``` 193 | 194 | For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages). 195 | 196 | # Full Documentation 197 | 198 | Full documentation can be found on the [website](https://docusaurus.io/). 199 | -------------------------------------------------------------------------------- /website/blog/2016-03-11-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Blog Title 3 | author: Blog Author 4 | authorURL: http://twitter.com/ 5 | authorFBID: 100002976521003 6 | --- 7 | 8 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien. 9 | 10 | 11 | 12 | Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut. 13 | 14 | Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra. 15 | 16 | Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum. 17 | 18 | Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis. 19 | -------------------------------------------------------------------------------- /website/blog/2017-04-10-blog-post-two.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: New Blog Post 3 | author: Blog Author 4 | authorURL: http://twitter.com/ 5 | authorFBID: 100002976521003 6 | --- 7 | 8 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien. 9 | 10 | 11 | 12 | Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut. 13 | 14 | Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra. 15 | 16 | Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum. 17 | 18 | Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis. 19 | -------------------------------------------------------------------------------- /website/blog/2017-09-25-testing-rss.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Adding RSS Support - RSS Truncation Test 3 | author: Eric Nakagawa 4 | authorURL: http://twitter.com/ericnakagawa 5 | authorFBID: 661277173 6 | --- 7 | 8 | 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 9 | 10 | This should be truncated. 11 | 12 | 13 | 14 | This line should never render in XML. 15 | -------------------------------------------------------------------------------- /website/blog/2017-09-26-adding-rss.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Adding RSS Support 3 | author: Eric Nakagawa 4 | authorURL: http://twitter.com/ericnakagawa 5 | authorFBID: 661277173 6 | --- 7 | 8 | This is a test post. 9 | 10 | A whole bunch of other information. 11 | -------------------------------------------------------------------------------- /website/blog/2017-10-24-new-version-1.0.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: New Version 1.0.0 3 | author: Eric Nakagawa 4 | authorURL: http://twitter.com/ericnakagawa 5 | authorFBID: 661277173 6 | --- 7 | 8 | This blog post will test file name parsing issues when periods are present. 9 | -------------------------------------------------------------------------------- /website/core/Footer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2017-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | const React = require("react"); 9 | 10 | class Footer extends React.Component { 11 | docUrl(doc, language) { 12 | const baseUrl = this.props.config.baseUrl; 13 | const docsUrl = this.props.config.docsUrl; 14 | const docsPart = `${docsUrl ? `${docsUrl}/` : ""}`; 15 | const langPart = `${language ? `${language}/` : ""}`; 16 | return `${baseUrl}${docsPart}${langPart}${doc}`; 17 | } 18 | 19 | pageUrl(doc, language) { 20 | const baseUrl = this.props.config.baseUrl; 21 | return baseUrl + (language ? `${language}/` : "") + doc; 22 | } 23 | 24 | render() { 25 | return ( 26 | 139 | ); 140 | } 141 | } 142 | 143 | module.exports = Footer; 144 | -------------------------------------------------------------------------------- /website/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "examples": "docusaurus-examples", 4 | "start": "docusaurus-start", 5 | "build": "docusaurus-build", 6 | "publish-gh-pages": "docusaurus-publish", 7 | "write-translations": "docusaurus-write-translations", 8 | "version": "docusaurus-version", 9 | "rename-version": "docusaurus-rename-version" 10 | }, 11 | "devDependencies": { 12 | "docusaurus": "^1.14.4" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /website/pages/en/hello-world.js: -------------------------------------------------------------------------------- 1 | const React = require("react"); 2 | 3 | const CompLibrary = require("../../core/CompLibrary.js"); 4 | 5 | const Container = CompLibrary.Container; 6 | const GridBlock = CompLibrary.GridBlock; 7 | 8 | function HelloWorld(props) { 9 | return ( 10 |
11 | 12 |

Hello World!

13 |

This is my first page!

14 |
15 |
16 | ); 17 | } 18 | 19 | module.exports = HelloWorld; 20 | -------------------------------------------------------------------------------- /website/pages/en/help.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2017-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | const React = require('react'); 9 | 10 | const CompLibrary = require('../../core/CompLibrary.js'); 11 | 12 | const Container = CompLibrary.Container; 13 | const GridBlock = CompLibrary.GridBlock; 14 | 15 | function Help(props) { 16 | const {config: siteConfig, language = ''} = props; 17 | const {baseUrl, docsUrl} = siteConfig; 18 | const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`; 19 | const langPart = `${language ? `${language}/` : ''}`; 20 | const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`; 21 | 22 | const supportLinks = [ 23 | { 24 | content: `Learn more using the [documentation on this site.](${docUrl( 25 | 'doc1.html', 26 | )})`, 27 | title: 'Browse Docs', 28 | }, 29 | { 30 | content: 'Ask questions about the documentation and project', 31 | title: 'Join the community', 32 | }, 33 | { 34 | content: "Find out what's new with this project", 35 | title: 'Stay up to date', 36 | }, 37 | ]; 38 | 39 | return ( 40 |
41 | 42 |
43 |
44 |

Need help?

45 |
46 |

This project is maintained by a dedicated group of people.

47 | 48 |
49 |
50 |
51 | ); 52 | } 53 | 54 | module.exports = Help; 55 | -------------------------------------------------------------------------------- /website/pages/en/users.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2017-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | const React = require('react'); 9 | 10 | const CompLibrary = require('../../core/CompLibrary.js'); 11 | 12 | const Container = CompLibrary.Container; 13 | 14 | class Users extends React.Component { 15 | render() { 16 | const {config: siteConfig} = this.props; 17 | if ((siteConfig.users || []).length === 0) { 18 | return null; 19 | } 20 | 21 | const editUrl = `${siteConfig.repoUrl}/edit/master/website/siteConfig.js`; 22 | const showcase = siteConfig.users.map(user => ( 23 | 24 | {user.caption} 25 | 26 | )); 27 | 28 | return ( 29 |
30 | 31 |
32 |
33 |

Who is Using This?

34 |

This project is used by many folks

35 |
36 |
{showcase}
37 |

Are you using this project?

38 | 39 | Add your company 40 | 41 |
42 |
43 |
44 | ); 45 | } 46 | } 47 | 48 | module.exports = Users; 49 | -------------------------------------------------------------------------------- /website/sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "docs": { 3 | "TruSat Community": [ 4 | "start-here", 5 | "participate", 6 | "contributing", 7 | "updating", 8 | "design"], 9 | "Satellite Tracking Guide": [ 10 | "guide", 11 | "intro-level-1", 12 | "intro-level-2", 13 | "intro-level-3", 14 | "intro-level-4", 15 | "browser-tools", 16 | "photographing-sats", 17 | "software" 18 | ], 19 | "About TruSat": [ 20 | "overview", 21 | "space-sustainability", 22 | "proof-of-sat", 23 | "governance", 24 | "roadmap", 25 | "roadmap-decentralization", 26 | "earth-space-program", 27 | "project-history", 28 | "FAQ" 29 | ], 30 | "The TruSat App": ["your-account", "station-locations"] 31 | }, 32 | "docs-other": {} 33 | } 34 | -------------------------------------------------------------------------------- /website/siteConfig.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2017-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | // See https://docusaurus.io/docs/site-config for all the possible 9 | // site configuration options. 10 | 11 | // List of projects/orgs using your project for the users page. 12 | const users = [ 13 | { 14 | caption: "User1", 15 | // You will need to prepend the image path with your baseUrl 16 | // if it is not '/', like: '/test-site/img/image.jpg'. 17 | image: "/img/undraw_open_source.svg", 18 | infoLink: "https://www.facebook.com", 19 | pinned: true 20 | } 21 | ]; 22 | 23 | const siteConfig = { 24 | title: "TruSat", // Title for your website. 25 | tagline: "Open Source Space Sustainability", 26 | url: "", // Your website URL 27 | baseUrl: "/", // Base URL for your project */ 28 | editUrl: "https://github.com/trusat/trusat-learn/tree/master/docs/", 29 | // For github.io type URLs, you would set the url and baseUrl like: 30 | // url: 'https://facebook.github.io', 31 | // baseUrl: '/test-site/', 32 | 33 | // Used for publishing and more 34 | projectName: "trusat-learn", 35 | organizationName: "TruSat", 36 | // For top-level user or org sites, the organization is still the same. 37 | // e.g., for the https://JoelMarcey.github.io site, it would be set like... 38 | // organizationName: 'JoelMarcey' 39 | 40 | // For no header links in the top nav bar -> headerLinks: [], 41 | headerLinks: [ 42 | { doc: "start-here", label: "Get Started" } 43 | // { doc: "doc10", label: "API" }, 44 | // { page: "help", label: "Help" }, 45 | // { blog: true, label: "Blog" } 46 | ], 47 | 48 | // If you have users set above, you add it here: 49 | users, 50 | 51 | /* path to images for header/footer */ 52 | headerIcon: "img/favicon.ico", 53 | footerIcon: "img/favicon.ico", 54 | favicon: "img/favicon.ico", 55 | 56 | /* Colors for website */ 57 | colors: { 58 | primaryColor: "#043053", 59 | //secondaryColor: "#838891" 60 | secondaryColor: "red" 61 | }, 62 | 63 | /* Custom fonts for website */ 64 | /* 65 | fonts: { 66 | myFont: [ 67 | "Times New Roman", 68 | "Serif" 69 | ], 70 | myOtherFont: [ 71 | "-apple-system", 72 | "system-ui" 73 | ] 74 | }, 75 | */ 76 | 77 | // This copyright info is used in /core/Footer.js and blog RSS/Atom feeds. 78 | copyright: '', 79 | 80 | highlight: { 81 | // Highlight.js theme to use for syntax highlighting in code blocks. 82 | theme: "default" 83 | }, 84 | 85 | // Add custom scripts here that would be placed in 12 | TruSat Learning Hub 13 | 14 | 15 | If you are not redirected automatically, follow this 16 | link. 17 | 18 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | --------------------------------------------------------------------------------