CrimeIsDown.com takes the confusion out of monitoring Chicago crime with data-driven tools. This is the code that is powering the website, where the tools will live (tools may be stored in a separate repository as they are developed).
- Clone the repository
- Ensure you have Ruby with Bundler, Node.js, NPM (Node Package Manager), Bower, and Gulp.js installed globally.
- In the root of the repostiory, run the following commands:
bundle install
npm install
bower install
gulp
- This should install all the necessary packages and generate a folder called
/dist
which contains the compiled HTML, CSS, and JS needed to make the website work. The contents of this/dist
folder can be uploaded to a web server and viewed. To edit the website and view the changes instantly, use the commandgulp serve
instead of the standardgulp
command. See the client-side documentation below for a full list of Gulp tasks.
No server-side technologies are being used currently. An API that interacts with some datasets from the City of Chicago Data Portal is planned. This may be developed in a separate repository.
The original project structure and development tool configuration was made possible by the Yeoman generator for web apps with Gulp.js and has been modified for the purposes of this website.
/
|-app # Application goes here (index.haml, 404.haml, etc.)
|---images # Static images used inside the app
|---scripts # Various JavaScript files to be loaded
|---styles # SCSS being used in the application, in main.scss for app stylesheets and vendor.scss for vendor stylesheets
|---templates # Master templates used by application pages
|-dist # Where the files go after being compiled
|---images # Compressed versions of images in /app/images
|---scripts # Compiled, minified scripts used in application (both original and vendor JS)
|---styles # Compiled SCSS from /app/styles
|-test # JavaScript tests should go here
|---spec # Mocha tests
These Gulp.js tasks were included in the Yeoman generator listed above. More may be added as the need arises.
gulp
orgulp build
to build an optimized version of your application in/dist
gulp serve
to launch a browser sync server on your source filesgulp serve:dist
to launch a server on your optimized applicationgulp wiredep
to fill bower dependencies in your.html
file(s)
Other client-side technologies currently being used include:
- SCSS split up into separate files in the
app/styles
folder, compiled in a Gulp.js task - More technologies not listed in this README yet
To be decided in a new CONTRIBUTING.md file. Stay tuned for further information.
Various releases of this website and the tools under it will make use of the Semantic Versioning guidelines. There may be some errors in protocol, but generally we try to adhere to this.
Releases should be numbered with the format of <major>.<minor>.<patch>
. What is defined as a "major", "minor", or "patch" release has yet to be decided.
- Finished Tumblr theme, some design changes to main website
- Finished multi-page website, more multimedia and tools
- Finished single-page website with multimedia
- Initial release, with a draft of single-page website (idea pitch site)
To be decided. Currently all code is under standard copyright law, except where any third-party material is used, in which the license of that material would apply.