GithubHelp home page GithubHelp logo

hackforla / adopt-civic-art Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 8.0 344 KB

Adopt-A-CivicArt project collaboration with the County Arts Commission

Python 58.10% HTML 15.29% CSS 22.12% JavaScript 4.49%
civic-artworks code-for-america hack-for-la

adopt-civic-art's People

Contributors

ashwal avatar iandcarroll avatar matikin9 avatar xtine avatar

Stargazers

 avatar  avatar  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

adopt-civic-art's Issues

User Retention [Design]

CHALLENGE
How do we retain users? Users are giving to us (time commitment, photos, comments, observations, travel), how do we give back in order to retain them?

Some guiding questions:
What goal is the user working towards?
What is the user's motivation?
How can we build trust with our user?

Users want to contribute for these reasons:

  • Community
  • Meeting like-minded individuals
  • Helping future generations
  • Desire to help
  • Interest in the arts
  • Giving back to city
  • ...more?

Oauth

As a civic-minded user
I want it to be easy to sign in using GitHub, Facebook or Twitter
so that I am not discouraged to adopt civic art

when running migrate, settings.py is being used instead of local_settings.py

I assumed the point of having a local_settings.py was so that django uses that file instead of settings.py, however when i follow the setup instructions to run the migrate, it seems to be using settings.py (and thus tries to get a google maps api key environment variable).

Am I mis-understanding the intended behavior, or is there a config setting somewhere I should change to point to local_settings.py?

image

Doc Install Instructions

As a contributing developer
I want an explicit and clear set of instructions to get the app running locally
So that I can quickly start contributing to the project

Clarifying what "Adoption" means

  • How can we change the user flow to explain what "adoption" means?
  • What are the most important bits of information for users to know? (price, time commitment, etc)
    • How can the information be clarified throughout the site (modals? tooltips? etc)

Landing page map changes

  • Zoom out to include all of LA County including Catalina Island
  • Delineate boundary of LA County

Bulk artwork data import tool

Admins would like the ability to upload a CSV file that would bulk add artwork data.

  • Admin panel would have an file upload field to take in the CSV file
  • Verify CSV file
  • Add artwork data into database (with the exception of images, they will uploaded manually by admin)

Front Dev

  • Map the 10 sample art pieces.
  • Create info popups for the art.

Admin changes checklist

Adoptions

  • Ability to see multiple adopters at a glance (may be a dashboard feature)

Artworks

  • Change Creation Date field from YYYY-MM-DD to YYYY
  • Ability to toggle display from Creation Date to Date Description (but always sort/filter by Creation Date)
  • Add picklist for Medium field
  • Add picklist for Artwork Type field
  • Delete Author field from artwork images section
  • Make License field for artwork images internal-facing only

Check-in functionality

Users need the ability to check into artworks they have adopted.

  • Artworks have check-in button for logged in users only
  • Check-in form can upload images (required)
  • Report on the condition (chipped, dirt, vandalism, corrosion)
  • If it is damaged (required)
  • If it is damaged, text field for damage description

Implemented in PR #26

Front-end asset management

  • Port over CSS files to SCSS and set up folder structure
  • Set up JS files (think about ES6?)
  • Set up a build process (probably Webpack 2?)

Data

Data sanitizing/escaping for DB storage & HTML display?

Sortable list of artworks

For user discovery of artworks, we should have a page that lists all artworks in a sortable datatable.

  • Design page
  • Decide what attributes to sort by
  • Implement page

Submit a tip interaction

If users are able to submit tips on artworks anonymously, how should that work?

Acceptance criteria

  • Design button or text link of where "submit a tip" should go on artwork page
  • Figure out interaction of submit a tip (go to a new page? or all just done through a popup?)
  • New database model to store tips and accessible to view in admin
  • Implement "submit a tip" feature

Google Analytics event tracking

To best track metrics and site usage, we should have event tracking tied to Google Analytics to best analyze our data.

  • Identify types of events to track (user signup, adoptions, checkins, etc)
  • Set up Google Analytics account
  • Set up GA events

Consider using React Native

Perhaps React Native can be used instead of phonegap. It can be an effective cross platform mobile tool depending on the needs of the project.

Continuous Integration

The repo needs a Travis CI webhook so that tests are run whenever a pull request is submitted

Also there needs to be a test suite to run

Also the tests should be fast, like really fast. Like easy enough to run every time a file is saved while editing and not slowing you down for it. To do this, the tests should focus on unit tests with very few mocks and stubs. This also means core logic should be separated from the framework.

  • starter test suite
  • Travis CI

The app runs

The app needs to be functional and provide some very basic value for a user.

Landing Page

As user, I want to understand the value proposition quickly. As user (or repeat user), I want to access the core content quickly.

Acceptance criteria

  • Design landing page
  • Create Illustrations for landing page
  • Create copy for landing page
  • Source photography for landing page
  • Implement Landing Page

Update README

uh oh @LACAC-YLee I don't see the README changes you made :(

Make About page

The site needs an about page that explains the purpose and goals of the site.

Acceptance criteria

  • Design
  • Copy
  • Decide where it is linked from, including navigation
  • Implement

Write initial set of tests

Basic tests needed.

Landing page map

  • Clicking a marker scrolls selected artwork to the top and highlights the artwork

User flow

  • New user registration
  • User sign-in

Adoption

  • Adopt an artwork

Check-in

  • Form fill and submission

Doc working agreement

As a new developer on the project
I want to know what's expected
So that I can contribute quality code
And help preserve the beauty of civic art

  • Code needs to run at all times
  • Code is tested, tests run fast, and all tests pass before code is "done"
  • The Readme is updated concurrently with the code
  • We use Travis CI to automatically run tests when PRs are submitted

Responsive pages

Make all current pages responsively working on mobile and tablet sizes.

Define data schema for initial site launch

During May 2 hack night, we whiteboarded data models for initial functionality and features. As we further define the needs for the project, we should start to incorporate these columns in the app.

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.