Astronomy web app.
Search catalogs of deep sky objects and plan your observations.
-
docker build -t dso-guide ./
-
docker run -it -p 80:80 dso-guide:latest
-
Server-side:
-
Webserver: NGINX.
-
Web API: Flask and uWSGI.
-
Database: SQLite3 on Python.
-
Docker container: Based on nginx-uwsgi-flask-alpine-docker.
-
-
Client-side:
-
JQuery.
-
Sky chart: D3-celestial.
-
Sky surveys: Aladin Lite.
-
Location map: Leaflet.
-
-
Web API tests: Postman.
-
Rebuild database, check best practices (backups? migrations?), rename
star_id
todso_id
orobj_id
. Rename db on repository todso-guide.db
. -
Code review
-
Add contact info
-
Server admin scripts
-
Getting started and about page
-
Add cardinal points
-
"Save" button is disabled when sorting the watchlist
-
Show all objects on Aladin map so it is easier to discover objects on catalog by looking around.
-
Check if we can assume
Content-Type: application/json
-
Better Flask logging
-
Moon calendar
-
Links to catalogs
-
Filter invisible objects, now or any time of the year
-
Export watchlist to file
-
More names for DSOs
-
Add close button to location warning
-
Sometimes leaflet map shows antarctica when opening
-
Allow manual ordering of watchlist, reflect it on server
-
Check that sometimes forms send GET instead of PUT
-
Add explanation of lat/lon format (hovering over help icon?)
-
Option to hide columns. Careful with column widths on CSS
-
Show ocular sizes on aladin, also show horizon
-
Bigger logo
-
Optimize watchlist and catalog tables adding, deleting, updating. Also when changing location
-
Check what happens with timezones
-
Add note saying that times are always e.g. UTC-6. Including future times, even if in the future DST is applied
-
Printed version
-
Captcha
-
Server admin scripts
-
Send errors to server and log
-
Show "Select location" if no plot yet
-
Broken aladin fullscreen?
-
Check security
-
Generate atlases for every object: example
-
Show this project to Aladin and Celestial devs.
-
Make the Celestial chart configurable (grid, constellations, star sizes, etc.)
-
Show form location on map, e.g. when logging in
-
Indicate current day/time on plot
- Reserve names:
admin
,administrator
,dso-guide
,dsoguide
,webmaster
,hostmaster
,root
,info
.test
is reserved for testing.
-
https://realpython.com/handling-email-confirmation-in-flask/
-
https://stackoverflow.com/questions/33861987/sql-music-playlist-database-design
-
https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html
-
https://stackoverflow.com/questions/549/the-definitive-guide-to-form-based-website-authentication
-
Check:
-
XSS
-
CSRF
-
SQL Injection
-
Hashing, salt
-
Captcha
-