Giter Site home page Giter Site logo

haileyhoyat / refundcleveland Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencleveland/refundcleveland

1.0 0.0 0.0 371 KB

website for residents to adjust the city of Cleveland budget to reflect their priorities.

License: MIT License

Python 21.17% HTML 32.39% SCSS 13.03% JavaScript 33.36% Procfile 0.05%

refundcleveland's Introduction

Refund Cleveland

a website for residents to City of Cleveland change their Budget to show what they want the city to value and share their proposed budget with their elected councilperson in city government.

Project outline is at: https://docs.google.com/document/d/1ydc5Bw0Ctp8LJFEWECu9f9wMeUfM-FKlhTROik0QJiY/edit

We have a Miro Board to sketch out a wireframe.

You can view our project, live, at https://refundcleveland.com

Errors / Bugs:

If something is not behaving as you expected, it could be a bug, or if you have an idea, it can be reported in our issue tracker at https://github.com/opencleveland/refundcleveland

How to become involved:

Join our slack channel - #refundcleveland. Complete self-sign up link https://opencle-slack.herokuapp.com/ to join our slack instance.

Most of our features, issues, and discussion is coordinated through our slack channel.

Developer Instructions

Configuring and running locally

Pre-Requisites:

  • Git
  • Python 3.8+
  • PostgreSQL
  • Mailgun API Key (if you wish to send out emails while testing)

Clone repo and install requirements

git clone https://github.com/refundcleveland
cd refundcleveland
pip3 install -r requirements.txt

Installing PostgreSQL & Creating a Database

If you need to install PostgreSQL, please follow these steps:

  1. Install PostgreSQL (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads). Remember the password!
  2. (On Windows) Update your environment path variables. (Step 3 here: https://medium.com/@aeadedoyin/getting-started-with-postgresql-on-windows-201906131300-ee75f066df78)
  3. Open a command line and run psql -U postgres. This is the default superuser. Enter the password you created.
  4. Within the postgres terminal, enter the command CREATE DATABASE <databaseName>;.
  5. Update your local_settings.py file!
  6. Run the command python3 manage.py migrate within the command line to create tables within your database.

Add local settings

Copy and rename local_settings_template.py to local_settings.py, and fill in environmental variables:

SECRET_KEY -- Django’s Secret Key used by the project GOOGLE_API_KEY -- Used for Google's Civic Information API to map Address to Political Ward MAILGUN_API_KEY -- Used for the Mailgun API that sends out emails when a user submits a budget

DATABASES -- map of parameters to define the connection to a database. In prod, we are using a postgres db hosted on heroku, and the connection is injected there via config vars. For local versions, enter the information you used when creating the database. Example:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'refund1',
        'USER': 'postgres',
        'PASSWORD': '<password>',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Run the app

python3 manage.py runserver

Navigate to http://localhost:8000/

Running in a production environment

This is currently done through heroku.

Dependencies

We used the following open source libraries/tools: d3, django, python3, postgres, Google Civic Information API

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Send us a pull request. Bonus points for making a new name your branch that describes your changes. For example, if you're improving the css by adding margins for input range element, css-range-margins would be appropriate.

Copyright

MIT License

refundcleveland's People

Contributors

shuxrei avatar skorasaurus avatar adamfishman avatar paulr-docs avatar austindavis avatar haileyhoyat avatar gsvolt avatar

Stargazers

Anne Thorpe 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.