Giter Club home page Giter Club logo

citizen-driven's Introduction

Community Improvement App

This app, called Citizen Driven, is designed to help community members voice their ideas for improvements that could/should be made to their community. By allowing users to see others' posts, it is a way to engage the community and bring them together around community pride. For this project, the seed data reflects communities within DC, but it could also be extrapolated to other cities.

List of Features

On every page, there are a few key features:

  • the app header, Citizen Driven, which links back to the neighborhood index page, and the tagline underneath
  • top left: links for user to sign in and sign up (if not logged in), or log out (if currently logged in)
  • bottom: links to home page

On the home page, there is a little bit of info about the purpose of the app with a link to enter to the next page.

The next page shows a list of DC neighborhoods. When you click one, it takes you to a show page for that individual neighborhood.

Each neighborhood page shows the name of the neighborhood, the quadrant of the city that it is located in, a link to post your input, a list of others' input, a map of DC, and a link back to the post displaying all the neighborhoods.

  • If you click to post your input, you are taken to a form. (In order to post your input, you must be logged in.)
  • If you click on another's post, you are taken to that post show page.

Each post show page shows:

  • The post title, content, author, associated neighborhood, type of inquiry, a map, created on/updated on dates, and a link back to the neighborhood show page.
  • If you are logged in and you are the author of the post, there will be links visible to edit or delete the post.

Getting Started

These instructions will get this project up and running on your local system.

Prerequisites

To run this program on your local system, you will need to have Ruby and Rails installed.

Installing the App

Clone this repository to a local repository. Next you will need to install gem files by running:

bundle install

Next you will need to create the database (drop first to be sure), migrate the data structure, and load your seed data. To do this, run:

rails db:drop db:create db:migrate db:seed

Then you can run the project on rails:

rails s

And type http://localhost:3000/ into your browser.

Deployment

To access Citizen Driven on a live system, visit https://citizen-driven.herokuapp.com/.

Built With

To build this app, I used HTML, CSS, JavaScript, Ruby, Ruby on Rails, and a PostgreSQL database.

Contributions

To contribute, fork and clone the repository, and submit a pull request with your proposed changes.

Unsolved Problems

There are quite a few additional features that I am interested in adding in the future. You can find a breakdown of completed and incomplete tasks in the 'projects' section of this repository. To summarize, I envision adding:

  • better map functionality - e.g. pins of the locations of existing posts, shadow area of neighborhood boundaries
  • use JavaScript to implement text color changes when you hover
  • allow users to click a button to "support" others posts/ideas
  • track the User's geolocation, so that they can only post if they have been near the location in the past day
  • clean up overall design & make 'post your idea' link on the neighborhood show pages more visible to the user

Author

Meg MacIver

citizen-driven's People

Contributors

megmaciver13 avatar

Watchers

James Cloos avatar  avatar

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.