Skip to content

Stargazers is a Node.js app for logging and tracking exoplanet data

Notifications You must be signed in to change notification settings

radhikamattoo/stargazers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stargazer's Collection

Build Status

Overview

I'm personally obsessed with space; when I was younger, I'd love looking at planets and stars from a telescope in my backyard - why not make a web app that helps keep track of all your favorite exoplanet?

A user can sign up and create a list of their favorite exoplanets by either entering their own information they've monitored or by querying an archive of ~ 2,000 confirmed exoplanets by NASA. If the user opts to enter their own information, the app will first crosscheck with the NASA archive to see if they're referencing a confirmed exoplanet, and will add the confirmed planet instead if there is a single match. If there's more than one match, the user can choose from the list of matching planets, or opt to make a new entry into their own observation list (the NASA archive won't be affected by this). This entry will be marked as a user exoplanet, rather than a confirmed NASA exoplanet.

Since many fields from the NASA archive are very difficult for regular observers to figure out without expensive equipment, I've kept only 8 fields as required (the rest will be there, but optional). These fields are the main criteria for matching a planet with the NASA archive:

  • Planet Letter (b, c, d, e, f, g, h, i, j)
  • Number of Planets in System
  • Orbital Period
  • Distance
  • Temperature
  • Stellar Mass
  • Stellar Radius

Note that this makes it difficult for a user to enter a ton of planets all at the same time (unless they make it up...) because these values take months (if not years) of observation to glean.

Based on this Confirmed Exoplanet Archive:

http://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=planets

Background image taken from:

https://downloops.com/stock-footage/starfield-stars-universe-flyby-motion-loop/

Installation / Setup

After you clone the repository, you will need a Facebook App ID and Secret in order to run this app locally. Go to https://developers.facebook.com/apps/ and create an app to retrieve your app ID/Secret.

Once you have this, create a .env file in the root directory with this structure:

clientID=CLIENTID
clientSecret=CLIENTSECRET

This will allow the app.js file to correctly setup Passport Facebook for login/signup. Next:

npm install
node bin/www

The app will run from localhost:3000

Data Model

There will be 3 Mongoose schemas

  1. User
  • Username/password
  • Boolean for if they signed up via Facebook
  • At minimum, there are 2 lists:
    • List of observed exoplanets in NASA archive
    • List of observed exoplanets not in NASA archive
  • User can add new lists and name them whatever they like
  1. List
  • Associated User
  • Name
  • Date created
  • List of Exoplanets (see below)
  1. Exoplanets - these are all taken from the NASA Archive
  • Host Name
  • Planet Letter REQUIRED
  • Discovery
  • Number of Planets in System REQUIRED
  • Orbital Period REQUIRED
  • Orbit on SemiMajor Axis
  • Eccentricity
  • Inclination
  • Mass wrt Jupiter
  • Mass wrt Provenance
  • Density
  • TVVFlag
  • Kepler Field Flag
  • K2 Mission Flag
  • Number of Notes
  • RA (String)
  • RA
  • Dec (String)
  • Dec
  • Distance REQUIRED
  • Density
  • Optical Magnitude
  • Optical Magnitude Band
  • Temperature (Kelvin) REQUIRED
  • Stellar Mass REQUIRED
  • Stellar Radius REQUIRED
  • Last Update

About

Stargazers is a Node.js app for logging and tracking exoplanet data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published