Skip to content

solocoinapp/solocoin-backend

Repository files navigation

Welcome to SoloCoin

Description

Backend app for SoloCoin app. API documentation here https://documenter.getpostman.com/view/494437/SzYW1z2B

Requirements

This app currently works with:

  • Ruby 2.5.1
  • Rails 5.2.x
  • PostgreSQL
  • Redis

Installation

Clone the repository

git clone https://github.com/coronagoapp/solocoin-backend
cd solocoin-backend

Check your Ruby version

ruby -v

The output should start with something like ruby 2.5.1

If not, install the right ruby version using rbenv (it could take a while):

rbenv install 2.5.1

Install dependencies

Using Bundler:

bundle install

Set environment variables

Using Figaro:

Rename application.yml.local to application.yml in /config directory for local environment.

Initialize the database

bundle exec rails db:setup db:seed

Create data for local environment

This will setup data for your local development and testing, look the data here to start using it.

bundle exec rails development_tasks:seed_dev_data

Run dev dependencies

bundle exec foreman start

Infrastructure Configuration

This application leverages terraform to manage cloud resources. See the Infrastructure Documentation for more information on resource creation.

Configure new machines

This needs to be run only once when new machines are added, app can be deployed using capistrano for subsequent deployments.

For test environment

 ansible-playbook ansible/site.yml -i ansible/inventory/qa01 --ask-vault-pass --extra-vars environment_name=qa01

For production environment (Don't deploy without admin's approval)

 ansible-playbook ansible/site.yml -i ansible/inventory/prod --ask-vault-pass --extra-vars environment_name=prod

Deploy

For test environment

cap qa01 deploy

For production environment (Don't deploy without admin's approval)

cap production deploy

How to contribute?

  • Look for un-assigned issues here
  • Ask questions and clarifications by commenting on the issue
  • Implement the feature/fix and open a pull request