Skip to content

Date A Programmer - online dating service built with Ruby On Rails

License

Notifications You must be signed in to change notification settings

bamper/dateprog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Date A Programmer ("Замуж За Программиста") - online dating for programmers with public and private profiles, online chats, tests constructor, email notifications and more

Articles about the project

Date A Programmer: Post Mortem, Russian translation is here

Technology Stack

  • Ruby On Rails (Ruby Version 2.1.1, Rails Version 4.1.1)
  • HAML (for views)
  • Mandrill (to send emails with notifications)
  • Amazon AWS S3 (to store photo files)
  • Heroku to run the application and the chat server
  • Cloudfront (to cache assets to get high performance of the main application)
  • Postgresql database
  • Faye (for the realtime chat)
  • Puma web server

License

  • The code is licensed under Apache License 2.00
  • Copyright © 2014-2015 Evgenii Mironichev

Credits

Instruction

Setting up development environment on local machine

  1. clone the repo, install required bundle, copy default files, run migrations and seed data on your local machine,
~/ $ git clone [email protected]:emirn/dateprog.git
~/ $ cd dateprog
~/dateprog $ bundle install
~/dateprog $ cp config/application-default.yml config/application.yml
~/dateprog $ cp config/database-default.yml config/database.yml
~/dateprog $ cp config/application-default.yml config/application.yml
~/dateprog $ cp gitignore-default .gitignore
~/dateprog $ rake db:create
~/dateprog $ rake db:reset
  1. Now you may run the local server
~/dateprog $ rails s

Note: If you are using Cloud9 IDE then use the following command instead:

~/dateprog $ rails s -b $IP -p $PORT

Default Users

  • admin control panel at http://localhost:3000/admin/login with [email protected] as login and dateprog as password
  • test users: [email protected] as login and 12345 as default password
  1. Realtime chat server: clone and run your own faye rails server required for the realtime chat
~/dateprog $ cd ..
~/ $ git clone https://github.com/nitinbarai777/dateprogfaye.git
~/ $ cd dateprogfaye
  • create the application for Faye server on Heroku and deploy the dateprogfaye application to it
~/dateprogfaye $ git push heroku master
  • in the local dateprog folder do the following
    • copy the URL of your Faye server on Heroku from browser (for example https://YOURFAYEINSTANCE.herokuapp.com)
    • paste that URL into the FAYE_ENDPOINT variable in the config/application.yml
  1. Precompile assets for Dateprog application for the production (to run on Heroku):
~/dateprog $ RAILS_ENV=production rake assets:precompile
~/dateprog $ git add .
~/dateprog $ git commit -m "assets were precompiled for the production"
  1. Create the application on Heroku to deploy the dateprog app into it
  2. Setup the production environment varables for Heroku

The project uses Figaro gem that uses environment variables to store tokens and keys in application.yml. Variables are stored in /config/application.yml that you have to update with your own generated keys and tokens.

~/dateprog $ figaro heroku:set -e production
  1. Finally push the dateprog to the Heroku to run in production
~/dateprog $ git push heroku master
  1. Run the database migration on Heroku and seed the default data
~/dateprog $ heroku run rake db:migrate
~/dateprog $ heroku run rake db:seed
  1. See config/application.yml for tokens and variables you will need to set for use 3rd party services to upload photo, send emails etc

About

Date A Programmer - online dating service built with Ruby On Rails

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published