Installation and Setup
For Ruby and Git, a good tutorial can be found at Jumpstart Lab Tutorials
For Postgres, see install options depending on your operating system below and follow the instructions.
$ git clone https://github.com/SnapFresh/SnapFresh.git $ cd SnapFresh $ bundle install $ cp config/database.yml.example config/database.yml $ bundle exec rake db:nuke_pave
Download and follow the instructions from Postgres. When promoted, you will want to install the local version, not the remote server.
$ sudo yum install postgresql-server postgresql-client postgresql-docs postgresql-devel
For Mac users, be sure to add the following to
config/database.yml in order to avoid port errors.
development: host: localhost test: host: localhost
You may need to add or modify additional configurations in
database.yml depending on how Postgres is setup.
A for develoment purposes, a username and password are not required unless Postgres is setup to require them. The fields can either be left blank or removed.
If you only want data for development purposes, then
db:sample will load a small amount (200 records) that will probably be sufficient for development purposes.
$ rake db:sample
Download a new data set and load into the database.
$ rake db:datarefresh
A line should print out every 10K rows that are refreshed - this way you can check on the progress of the script which takes at least 10 min to run.
Alternate Production Data Load
Alternate way to load the full data (if above steps dont work for some reason):
ruby db/cronjob.rbto fetch all data files, unzip and then produce a single CSV file called "all.csv".
Bulk-load into postgres, using this command.
$ grep -v '"NULL"' all.csv | psql allincomefoods_dev -c "copy retailers (name, lon, lat, street, city, state, zip, zip_plus_four) from stdin null as 'NULL' csv;"
- Remove all the .zip and .csv files that were created as part of the download process.
//00T! You should be all installed and stuff now.
- Docker Compose
Runnning in Docker
$ docker-compose up -d
- Open in browser on Docker host IP on port 3000
Testing in Docker
$ docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml up --no-deps -d postgres
docker-compose -f docker-compose.test.yml up --no-deps snapfresh
- Create a feature branch from develop:
git checkout -b feature/myfeature developor
git flow feature start myfeature
- Commit and push your changes
- Submit a pull request to the develop branch
License INFO: - Note, this license applies to all files within the SnapFresh/SnapFresh repo. It is an OSI approved license.
Copyright  [Ysiad Ferreiras, Aaron Bannert, Jeremy Canfield and Michelle Koeth]
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See LICENSE for details.