Yardsale is a simple Craiglist clone.
Copy and paste these commands to get started.
bundle install --without production
rake setup:dotenv
ruby seed.rbIf you want to know more about what these are doing, read on.
Like most web applications, this project is meant to run in two different environments: development and production. Here, "development" means your local computer and "production" means Heroku.
Inside your web application, the
ENV['RACK_ENV']environment variable will tell you which environment you're running in. For this project, the main difference is that we use SQLite3 as our database in development but Heroku requires PostgreSQL in production.
Remember, the Gemfile describes what gems are required for a project to work. Notice how we have both a development and production group inside the Gemfile. This allows us to install different gems depending on which environment our application is running in.
To install the gems required for this project, run
bundle install --without productionThis will install every gem except those required by the "production" environment.
We use [dotenv][dotenv-wiki] in this project to manage environment-specific information. Specifically, we need to set the DATABASE_URL environment variable so our application knows what database to use. This might seem like overkill, but Heroku also sets the DATABASE_URL environment variable, so we'll have to use it in production regardless.
dotenv expects find a file named .env. We've provided an env.example file which you can use. From the yardsale root directory, run
cp env.example .envor
rake setup:dotenvWe haven't talked much about rake, but the Rakefile defines what this command does. You can see that it's copying the env.example file on your behalf with
FileUtils.cp('env.example', '.env')[dotenv-wiki][https://github.com/codeunion/web-fundamentals/wiki/Glossary#dotenv]