LOST EXPRES
A web application interface to the Lowell Observatory Solar Telescope
Our Group
- Austin Bacon
akb364@nau.edu - Olivia Thoney
opt4@nau.edu - Jared Cox
jac973@nau.edu - Brooke Caldwell
bec243@nau.edu - Ian McIlrath
ikm25@nau.edu
Volodymyr Saruta
vvs28@nau.edu
Our Client
Joe Llama has been working as an Assistant Astronomer at Lowell Observatory for four years, and is the team lead for the Lowell Observatory Solar Telescope, and the EXtreme PREcision Spectrograph
Our Team
Brooke Caldwell
Team Lead
Skills
- Working with Linux Operating Systems
- Git Version Control
- Database Management
Other Interests
- Astronomy
- Marvel Movies
Jared Cox
Architect
Skills
- Web Development
- Database Management
- Python Programming
Other Interests
- Camping
- Cooking
Austin Bacon
Meeting Recorder
Skills
- Technical Writing
- Javascript Programming
- Web Development
Other Interests
- Astronomy
- Hiking
Olivia Thoney
Customer Communicator
Skills
- Advanced Web Development with PHP
- Statistical Analysis
- SQL Programming
Other Interests
- Running
- Mountain Biking
Ian McIlrath
Release Manager
Skills
- Graphical/UI Design
- Web Design
- Maintaining Servers
Other Interests
- Drawing
- Dungeons and Dragons
Description
Dr. Joe Llama from Lowell Observatory is the team lead for a Solar Telescope project. The Lowell Observatory Solar Telescope (LOST) is equipped with technology that can read the Radial Velocity of a star, and determine if there is a planet revolving around said star. Dr. Llama's ultimate goal is to find exoplanets similar to Earth, and by collecting this data he is one step closer to finding one.
Dr. Llama and his team have collected massive amounts of data, but have had no way to convienently view and analyze it. Their work flow consists of collecting Radial Velocity data every day from sunrise to sunset. The collected data then gets pushed onto the Lowell servers and gets filterd for usable data. The process ends with the filtered data being usable by Dr. Llama. This data is siloed within Lowell Observatory and not available to the scientific community and novice astronomers.
To solve this issue he has asked us to create a web application. This web application will take the Radial Velocity data and graph it so that the data can be analyzed by the team.
Project Proposal
- the original proposal document for Dr. Llama's web applicaitonRequirements
Graphing
Dr.Llama's main request is to graph the data he is collecting. The graphs we are being asked to create are Radial Velocity, 1 Dimensional Spectrum, and 2 Dimensional Spectrum graphs. These graphs will serve has his way of analyzing his data as well as sharing the researh with others.
- Radial Velocity
- - Zooming in/out
- - Changing axis min/max
- - Hover over points
- - Selection of point for 1D or 2D graph
- - Downloading a file of the data
- 1D Spectrum
- - Zooming in/out
- - Hover over points
- - Downloading a file of the data
- 2D Spectrum
- - Zooming in/out
- - Hover over points
- - Order selection
- - Downloading a file of the data
User Access
Our client also wants there to be seperate user levels for the public, other researchers, and himself the admin. While most things will be the same for every level.
- Public
- - Access to limited data in the graphing section
- - Has the ability to sign up as researcher
- Researcher
- - Login required
- - Access to full data collection in the graphing section
- Admin
- - Login required
- - Access to full data collection in the graphing section
- - Ability to upload more files
- - Manages the site through an admin page
Technologies
Languages
- Python
- - Our client already uses Python
- - Used for running the website
Back End
- Flask
- - Used for our framework
- - Easily maintains routing for the site
- - Allows for easy database management
- - User Authentication
- - Highly Documented
- - Extensive Extensions
- - Compatible with Dash
- Dash
- - Used for data analysis and admin pages
- - Highly Documented
- - Extensive Extensions
Front End
- Jinja
- - All pages are written in Jinja HTML format
- - Built into Flask
- - Allows for master base page and then extensions
- Boostrap
- - Quick Prototyping
- - Responsive
- - Higher Level Programming
- - Integrated into Dash
Database
- MongoDB
- - NoSQL Based
- - Can store very large files
- - More open relations
- - Stores all graphing data points, users, news, and glossary terms
List of Extensions Used
- Flask
- - Flask Mail
- - Flask Login
- - Flask PyMongo
- - Flask WTF
- Dash
- - Dash Bootstrap Components
- - Dash Core Components
- - Dash DAQ
- - Dash HTML Components
- - Dash Table
- - Dash Extensions
- Other
- - Bcrypt
- - DNSPython
- - Email Validator
- - Julian
- - Pandas
- - Plotly
- - PyMongo
- - WTForms
Solution
Home Screen
At the top of the page is the navigation bar, this will allow you to access the rest of the website. These pages include the data, news, glossary, and sign in. The admin can set which news article is displayed on the homescreen, highlighting the exiting research discovery he has made that week.
Home Page
Graphing
The following are examples of the graphing we have implemented for Dr.Llama. From the radial veloicity graph you can select a point to view the specturms, and by using the toggle the user can swap between 1D and 2D Spectrums. All of the graphs also have the ability to zoom in and out, as well as download the data of the graph.
Radial Velocity Graph
1 Dimensional Spectrum Graph
2 Dimensional Spectrum Graph
User Login
For researchers and admin they will have to sign in. If new to the site, from the signin page they can register to become a researcher. This includes giving their name, the instituation they are from, and an email. This registration form is sent to admin and they will approve or not approve the request. Once approved, the researcher will be emailed their password to the site.
Login Page
Requesting Access
News
After discussion Dr.Llama wanted a way to share more information about his project with the public. We decided that a great way would be a blog styled news page. From the News pages a user can click an article title and will be taken to the full article to read.
News Page
News Post
Glossary
During the project there was a learning curve with terminology, this prompted the idea for a glossary list. This way Dr.Llama can use full terminology in his articles without having to explain every time.
Glossary Page
Admin Management
Once an admin is logged into the website they will have access to the management section of the site. All of this is stored in one place allowing the admin easy accessiblity. From here they can add new posts and glossary terms, delete them if need be, and manage the graphing section. There is a data selector to limit the data the public can see as well as the ability to add new files so they can be added to the database as well.
Admin Page
Deliverables
Projected Schedule:
Please click on any document link to view and download it:
Team Inventory
- a brief introduction of our team members and their experience
Team Standards
- an outline of our team expectations, including team roles, meetings times, technologies, etc.
Mini Introduction Video
- a quick presentation on our project
Tech Feasibility
- a detailed exploration and analysis of the technologies we are using
Design Review 1
- a detailed exploration and analysis of the technologies we are using
Requirements Document
- an in-depth document detailing all functionalities the website will need
Tech Demo Flight Plan
- a quick outline describing the demonstrations that will be developed for the website
Schedule
- the development schedule
Software Design Document
- a detailed explaination of how we are implementing the project
Design Review 2
- a detailed explaination of how we are implementing the project
Testing Plan
- a detailed explaination of how we plan on testing the project
Design Review 3
- a detailed explaination of how we have implemented the project so far, and a plan on testing
UGRADS Presentation
- a detailed explaination of the full project