cityoflosangeles / dot-planner Goto Github PK
View Code? Open in Web Editor NEWPlanning software and database for Active Transportation Projects
License: Apache License 2.0
Planning software and database for Active Transportation Projects
License: Apache License 2.0
I'm going to try to run this within Cloud9.
This is the error I'm getting:
Executing (default): SELECT "id", "Geometry", "Fund_St", "Legacy_ID", "Lead_Ag", "Proj_Title", "Proj_Ty", "Proj_Desc", "Contact_info", "More_info", "Primary_Street", "Cross_Streets", "Proj_Status", "Proj_Man", "CD", "Access", "Dept_Proj_ID", "Other_ID", "Total_bgt", "Grant", "Other_funds", "Prop_c", "Measure_r", "Gas_Tax", "General_fund", "Authorization", "Issues", "Deobligation", "Explanation", "Constr_by", "Info_source", "Grant_Cat", "Grant_Cycle", "Est_Cost", "Fund_Rq", "Lc_match", "Flagged", "TotalUnmetFunding", "ProjectStartDate", "ProjectProjectedCompletionDate", "Dup_ID", "Attachment", "createdAt", "updatedAt" FROM "Projects" AS "Project" WHERE "Project"."Access" = 'Public';
Unhandled rejection SequelizeDatabaseError: column "TotalUnmetFunding" does not exist
at Query.formatError (/home/ubuntu/workspace/node_modules/sequelize/lib/dialects/postgres/query.js:357:14)
at null.<anonymous> (/home/ubuntu/workspace/node_modules/sequelize/lib/dialects/postgres/query.js:88:19)
at emitOne (events.js:77:13)
at emit (events.js:169:7)
at Query.handleError (/home/ubuntu/workspace/node_modules/pg/lib/query.js:143:8)
at null.<anonymous> (/home/ubuntu/workspace/node_modules/pg/lib/client.js:180:26)
at emitOne (events.js:77:13)
at emit (events.js:169:7)
at Socket.<anonymous> (/home/ubuntu/workspace/node_modules/pg/lib/connection.js:136:12)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:153:18)
at Socket.Readable.push (_stream_readable.js:111:10)
at TCP.onread (net.js:537:20)
From previous event:
at Query.run (/home/ubuntu/workspace/node_modules/sequelize/lib/dialects/postgres/query.js:74:17)
at /home/ubuntu/workspace/node_modules/sequelize/lib/sequelize.js:849:20
at /home/ubuntu/workspace/node_modules/sequelize/node_modules/retry-as-promised/index.js:40:21
From previous event:
at retryAsPromised (/home/ubuntu/workspace/node_modules/sequelize/node_modules/retry-as-promised/index.js:30:10)
at /home/ubuntu/workspace/node_modules/sequelize/lib/sequelize.js:848:12
From previous event:
at Promise.then (/home/ubuntu/workspace/node_modules/sequelize/lib/promise.js:21:17)
at Model.findAll (/home/ubuntu/workspace/node_modules/sequelize/lib/model.js:1395:6)
at /home/ubuntu/workspace/controllers/projects_controller.js:56:22
at Layer.handle [as handle_request] (/home/ubuntu/workspace/node_modules/express/lib/router/layer.js:95:5)
at next (/home/ubuntu/workspace/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/home/ubuntu/workspace/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/home/ubuntu/workspace/node_modules/express/lib/router/layer.js:95:5)
at /home/ubuntu/workspace/node_modules/express/lib/router/index.js:277:22
at Function.process_params (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:330:12)
at next (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:271:10)
at Function.handle (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:176:3)
at router (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:46:12)
at Layer.handle [as handle_request] (/home/ubuntu/workspace/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:312:13)
at /home/ubuntu/workspace/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:330:12)
at next (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:271:10)
at /home/ubuntu/workspace/node_modules/express/lib/router/index.js:618:15
at next (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:256:14)
We'd like to add a third project type, idea
projects for those that are being planned but are not yet unfunded. As y'all merge the funded/unfunded tables into one, possible to add if this is an idea project?
Ideally the flow will be idea projects->unfunded->funded->BUILT
Thanks to @JacquiSwartz for the suggestion
Please add the following (3) new attributes to the database:
Total Unmet Funding
Project Start Date
Projected Project Completion Date
Make sure inputted data is valid. Common data entry errors wrong street name, incorrect abbreviation, and duplicates.
Waiting on #144. We have city infrastructure to deploy the app on.
Hunter is lead.
Use Draw.Io to make a user flow diagram, add to README
Create pop-up to introduce what the project is so that when user logs in they know what they're looking at. Should say:
The Capital Projects Dashboard is the repository for all information relevant to the City of Los Angeles Department of Transportation projects. The database is designed to improve the capital effectiveness of site and sustaining project systems across multi-modal sectors.
@spencercharest @datala/ucla-dot-partners
How did you load in the data into postgres for the demo application?
Like Streetwize, on right side banner, show project name/title, miles, length of time remaining for contract.
Must have option for user to export projects to spreadsheet (xls, csv). This may already exist--
@hunterowens to confirm.
Add the intersections interface
Similar to Streetwize, be able to view all projects within a set radius (1/4 mile, 1/2 mile, 1 mile). Must also respect existing applied filters.
Non mandatory field.
Write the Shapefile to postgres DB script and populate the database.
We are having some trouble understanding the coordinate system that ArcGIS uses for geometry. From my research is looks like it is WSG84. An example of the coordinates we are getting are
-13168634.8981, 4026429.6236. Is there anyway to easily convert these to decimal degrees like 34.0522, -118.2437. We are having trouble figuring out how to render the WSG84 on the map.
Other than this issue we have successfully imported from the geodatabase that was sent to us to our postgres database.
Write up how to deploy
Is it possible to create a monthly automatic reminder to be sent to project manager (via email address) if new project is entered but not all cells are complete? Set two timelines (30 days, 90 days)
Like Streetwize, provide same/all attributes on side bar when user clicks on project for more details.
@datala/ucla-dot-partners when is a good time to schedule some user testing? @JacquiSwartz can arrange time to work with the DOT project managers.
Like Streetwize, provide tab for 'Funded' (Current work) projects and 'Unfunded' (Upcoming work) projects.
Allow user to filter by project type (ie if user would like to only see Bike projects, one can select 'Funded>Bike' or 'Funded>First/Last Mile'. Also need filter for projects that are re-occurring such as CicLAvia (routes will generally be the same but dates are only 'active' or 'funded' for time of event) or in cases where the project status has changed and is on hold. Project Managers will want to place on 'HOLD' or 'HIDE'.
We have more questions about the attributes so that we can finalize the web form. We want to make sure that we get these right as it's a big part of the application's functionality.
I have attached a spread sheet that lists every single attribute. There are fields to indicate if the attribute belongs to funded projects, unfunded projects (or mark both if it belongs to both) and whether or not the user should be required to enter it. It would be extremely helpful if someone could mark each attribute to indicate when it should and shouldn't be shown in the web form.
You can edit this sheet online directly in Google Sheets
https://docs.google.com/spreadsheets/d/1yzY-NpubaG2g13IaNdFfTraWmQwpLETjN3hiqwL4ORg/edit?usp=sharing
Need to create pop-up with info to guide user through buttons and how to use them/their purpose. For example, 'Hide Project' button is not clear how to use that button. Pop-up could say 'To hide project, check this box. The project will only be visible to City staff. This can be edited later.
For a later sprint, ignore for now.
Please create field in form that allows attachments for image types:
PDF,JPG, PNG
M
Eventually, we'll want to write some tests for the functionality.
A unique id must be retained for each individual project and a new unique id for any new project.
User Story 1 -> Sees their 3 projects in the viewport, 3 adjacent project. -> download as.
User Story 2 -> Bulk download the dataset.
Use LADOT Style Guide for color palette and logo. @JacquiSwartz will provide
It's unclear what the icons or lines are until you click them.
Project names have been renamed and categorized slightly differently by management--need to fix this
In the prototype, when you Export Features - is this how you access the webform for data entry?
If so can you include the fields from the Unfunded and Funded database samples?
Use sequelize-fixures to create a fixtures
directory that has dummy/test data to use for future dev on the project.
Hola! @bryce-richards has created a ZenHub account for the datala organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.
To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.
ZenHub adds a series of enhancements directly inside the GitHub UI:
Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @bryce-richards.
Use same basemap as Streetwize but also provide option to toggle to aerial basemap:
http://bl.ocks.org/d3noob/8663620
https://leaflet-extras.github.io/leaflet-providers/preview/
Need new title. Should be:
LADOT Capital Improvement Plan
Can we place at top left corner where currently shows LADOT logo (keep logo then add title after logo). Move and reorganize buttons to right side, also identify which should be removed, which are unnecessary (less is more).
@datala/ucla-dot-partners
Any suggestions on creating a local user? Database is correctly hashing passwords, but would like to set up a dummy user
Like Streetwize, list number of projects that display in view frame.
I have a new set of geocoded projects that need to be uploaded to the database. What is the most efficient way to do that?
Hey @hunterowens after today's call I just want to be clear about authentication for the web application. Right now, we are working to set up the application with the assumption that it will be publicly available. However, if a user is not logged in they can only view projects marked as Public in the Access column of the database. If a user IS logged in they can see, edit, and delete projects all projects from the database.
Does this sound right? I want to make sure we are understanding everything correctly.
Allow folks to use their standard City logins.
Make sure that it's up to 15. Currently forms says 1-14.
Like Streetwize, provide legend of various project types and use color coding for different project types (Bike, Pedestrian, People St, etc.)
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.