This post is part of an ongoing feature about creating a social network in Rails.
Here we'll set up the Rails app for our photo social network, codenamed Piccy.
No fumbling around with different ruby version managers and complex Rails setups: RVM + Railsbricks, done in 5 minutes:
Install rvm following the instructions on its website:
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 $ \curl -sSL https://get.rvm.io | bash -s stable ... $ rvm install 2.2.0 ... Done!
Install the railsbricks gem and bootstrap the app. We're using most of the default settings, shaping it up to be deployed in Heroku (+ Postgres):
$ gem install railsbricks ... $ rbricks -n ***************************** * * * RailsBricks 3.1.2 * * www.railsbricks.net * * * * using Rails 4.2.0 * * * ***************************** - Do you want me to help you along the way by giving you tips? 1. Sure, help me make the right choices (default) 1. Your Rails App Name ---------------------- - What do you want to name your app? App name: piccy 2. Your Development Environment ------------------------------- - Which version of Ruby do you want to use? 3. 2.2.0 (default) - How do you usually install new gems? 1. gem install name_of_gem (default) - How do you usually run rake tasks? 1. rake some_task (default) - Which database engine do you want to use for development? 2. PostgreSQL - Your database server hostname? Hostname: localhost - What is the database port number? Port: 5432 - What is the development database name? Database name: piccy_development - What is your database username? Database username: your_username - What is your database user password? tip: leave blank for none Database user password: - Create a local Git repository? 1. Yes (default) - Add a remote Git repository? 2. No (default) 3. About Your App ----------------- - Create an authentication scheme? (Devise) 1. Yes (default) - How will users sign in? 1. With a username (default) - Allow new users to sign up? 1. Yes, they can click on a 'sign up' button (default) - Create test users? 1. No, only create my Admin account (default) - Create Post resources? 2. No (default) - Create a Contact form? 2. No (default) - Use Google Analytics? 1. Yes (default) - What is your Google Analytics tracking ID? Tracking ID: UA-XXXXXX-XX - Configure email settings? 2. No 4. Your App UI (Bootstrap 3) ---------------------------- - Which UI scheme do you want to use for the content area? 1. Light (default) - Which UI scheme do you want to use for the navbar? 2. Dark (default) - Which UI scheme do you want to use for the footer? 2. Dark (default) - What primary color do you want to use? Primary color: #673ab7 - Which font family and fallback options do you want to use as the main one for the UI? 1. Open Sans, Helvetica, Arial, sans-serif (default) 5. Your Production Settings --------------------------- - Do you want to set up some production settings already? 1. Yes (default) - Where will you host your app? 1. Heroku (default) - What will be the URL of your app? URL: www.piccy.com - Do you want to use Unicorn in production? 1. Yes (default) 6. Summary ---------- - I am ready! Generate piccy now? 1. Do it! (default) ... ----> Piccy created successfully! Run 'rails server' within piccy to start it.
- A full-fledged authentication with a User model,
- An Admin section for all our management needs
- A nice starting UI that can be themed later
- Lots of other features we'll tackle later on
And we haven't written a single line of code yet :)