/Census2Xlsx

A cross-platform data collection tool for the United States Census Bureau

Primary LanguagePython


Census2Xlsx logo


coverage status test status python version electron version react version


Census2Xlsx

Census2Xlsx is a cross-platform data collection and analysis tool for the United States Census Bureau database.

Overview

Developed with Python 3.7, Electron 11.2.1, and React 17.0.1.

Used the following guide to set up my React-Electron development environment: https://flaviocopes.com/react-electron/.

The project has a Trello board for tracking features and development tasks. This board can be viewed at: https://trello.com/b/UD66VbiG/cen2xlsx.

This application was developed for Heartland Grant Solutions: http://www.heartlandgrants.org/.

Intended to be used in junction with Tableau.

Terminology

Census2Xlsx accepts a Report Area and a set of Tables from multiple Sections from the user to create the final xlsx file.

Location: A geographic location described by a census geocode. Locations can represent a variety of geographic levels defined but the US census. Currently support state, county, and place geographic levels.

Report Area: A set of locations.

Indicator: A data point used to convey the state, level, or amount of something.

Table: A set of related indicators.

Section: A set of related tables.

Features

  • Create a Report Area

    Location Page
  • Select Tables to be included in the report

    Indicator Page
  • Confirm your selections and enter a file name

    Indicator Page
  • Download report as a .xlsx file

    Indicator Page
  • Once the .xlsx file has been generated, you can use Tableau to make interactive graphs and maps

    Tableau Map

Roadmap

  • Write python script with hardcoded values to generate a report
  • Write python script to save report as a .xlsx file
  • Write python script to cache Census geocodes and tableIDs
  • Prototype UI in Tkinter
  • Develop UI with electron and react
  • Add secondary features
  • Implement unit tests and logging
  • Build and Distribute to Windows and OSX systems

Quickstart

Clone the repository:

$ git clone https://github.com/Cherrmann8/Census2Xlsx.git

Download dependencies:

$ npm install

Start the application:

$ npm start

Take note to change the IS_DEV flag in the .env file when changing between development and production.

Build the application:

$ npm run build

Package the application using electron-builder:

$ npm run dist