abkfenris / baxter-flask Goto Github PK
View Code? Open in Web Editor NEWAvalanche and geospatial data system for Baxter State Park
Avalanche and geospatial data system for Baxter State Park
Figure out what backend we're going to use for Flask-Cache and set sane defaults.
Columns:
Documentation Structure
Provide some substance to the page.
Ideas:
Need some error pages for when errors happen. And maybe display sentry id nicely.
Internet Explorer and maybe others won't load external scripts hosted on github as they are returned as text vs javascript.
Internet Explorer is too enthusiastic about sniffing content/type
Make individual and group kmls for types
Help jinja2 deal with incidents without geometry. Probably something along the lines of:
{% if incident.bed_surface and incident.debris_field %}
Map script stuff
Map div
{% endif %}
don't show password, or figure out how to deal with flask-admin nicer
Should snowpack observations just be part of weather observations? They could just be available inline
Looks like it's SRID 26919 for the database, which will also mean that migrations will have to be restarted as I doubt they will be able to do that alter, or pick it up.
How to map between an Avalanche Observation and an Avalanche Problem and provide more info about it. See #19
Columns:
Columns:
What should be on the index page?
Like https://github.com/mjhea0/flask-boilerplate/blob/master/templates/layouts/main.html#L22 so there aren't 404s just from icon hunting.
Does it even need a page, or can it just be a category?
Geospatial might not really be the right name for it either.
Should campsites and other POI be a subclass of a generic point model?
Need a function to initialize the database and create the initial roles required for the site.
User Model
verify_password()
__repr__
Should have SSL configured.
Get a wildcard cert from somewhere like StartSSL - trusted on most desktops and mobiles, but not windows phone maybe?
Force ssl for /admin with something like:
server {
location /admin {
rewrite ^ https://$http_host$request_uri? permanent;
}
}
server {
listen 443;
location /api/1.0/trail {
rewrite ^ http://$http_host$request_uri? permanent;
}
}
Which has it reverting back to http for trail api, and maybe other api calls so that proxies can cache them better?
Columns:
Use Flask-Security
Make sure to set hashing
Setting default user role:
http://stackoverflow.com/a/17150839/3658919
How to integrate with Flask-Script: https://github.com/hansonkd/FlaskBootstrapSecurity/blob/master/manage.py
For API usage use Flask-JWT
Roles:
Should the geospatial models be subclasses?
Currently the map fills the screen on small phones, so if the height is in less and adjusted by screen width then it won't overfill the viewport.
Models/Admin
Starting with http://stackoverflow.com/a/22622043/3658919
Definitions - Sierra Avalanche Center
Columns
Largely to do a many-to-many select list with a description and ranking on an Avalanche Discussion page somewhat like the Utah Avalanche Center has:
Create a fabfile.py for deployment along the lines of the one in the Real Python - Deploy Flask entry.
Will need to work out some stuff for postgres and user creation.
Some monitoring/logging setup.
Maybe psdash?
Also maybe for Celery in the future.
for Flask-admin limit to admins (maybe have redis-admins) and detect if redis is configured
from redis import Redis
from flask.ext.admin.contrib import rediscli
class RedisCli(rediscli.RedisCli):
def is_accessible(self):
return current_user.has_role('admin')
if app.config['CACHE_REDIS_HOST'] is not none:
admin.add_view(RedisCli(Redis()))
should use select list
Columns?
Should this be a page or just a category?
Really just used as a subpart to Avalanche Incidents
Columns:
Should they be subclasses of trails? So ski routes would be trails. Actually maybe just a parent class of both called path?
Should they be a subclass of a generic model called path?
Columns?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.