Date A Programmer ("Замуж За Программиста") - online dating for programmers with public and private profiles, online chats, tests constructor, email notifications and more
Date A Programmer: Post Mortem, Russian translation is here
- 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
- The code is licensed under Apache License 2.00
- Copyright © 2014-2015 Evgenii Mironichev
- Founder and Junior Developer: Evgenii Mironichev @emironic
- Leading Developer, Backend & Frontend, JS, Deployment, Design: Nitin Barai (http://www.sheltersoft.in) [email protected]
- 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
- 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 anddateprog
as password - test users:
[email protected]
as login and12345
as default password
- 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 theconfig/application.yml
- copy the URL of your Faye server on Heroku from browser (for example
- 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"
- Create the application on Heroku to deploy the
dateprog
app into it - 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
- Finally push the
dateprog
to the Heroku to run in production
~/dateprog $ git push heroku master
- Run the database migration on Heroku and seed the default data
~/dateprog $ heroku run rake db:migrate
~/dateprog $ heroku run rake db:seed
- See
config/application.yml
for tokens and variables you will need to set for use 3rd party services to upload photo, send emails etc