Code Monkey home page Code Monkey logo

dot-planner's People

Contributors

bryce-richards avatar colinmcdaniel avatar crisr10 avatar dina903 avatar emrzero avatar hunterowens avatar matikin9 avatar pocketthi3f avatar spencercharest avatar stephjs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dot-planner's Issues

Suggestion: Easy On Boarding Flow & Documentation

I'm going to try to run this within Cloud9.

I got this much to display:
image

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)

Third Project Type

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

Add New Project Attributes

Please add the following (3) new attributes to the database:
Total Unmet Funding
Project Start Date
Projected Project Completion Date

Data Entry Validation

Make sure inputted data is valid. Common data entry errors wrong street name, incorrect abbreviation, and duplicates.

  1. Provide a method to flag bad entries and remove them from administrator users.

Introduction Page

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.

Project Title/details

Like Streetwize, on right side banner, show project name/title, miles, length of time remaining for contract.

Search Radius Tool

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.

Coordinates

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.

Project attributes/details

Like Streetwize, provide same/all attributes on side bar when user clicks on project for more details.

Schedule User Testing

@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.

Funded/Unfunded tabs

Like Streetwize, provide tab for 'Funded' (Current work) projects and 'Unfunded' (Upcoming work) projects.

Project Filters or Status type

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'.

Finalize Attributes

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

Pop-up Guides/How-to

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.

Add tests

Eventually, we'll want to write some tests for the functionality.

Unique ID

A unique id must be retained for each individual project and a new unique id for any new project.

Export to table feature

User Story 1 -> Sees their 3 projects in the viewport, 3 adjacent project. -> download as.
User Story 2 -> Bulk download the dataset.

  • CSV
  • Shapefile

Add more fields in Project Details

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?

Getting more done in GitHub with ZenHub

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.


How do I use ZenHub?

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.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

Add ZenHub to GitHub

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.

ZenHub Board

Add Title/Name to App

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).

Creating Local Users

@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

Authentication

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.

Legend

Like Streetwize, provide legend of various project types and use color coding for different project types (Bike, Pedestrian, People St, etc.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.