Skip to content

Admin website and Database Migrations

Notifications You must be signed in to change notification settings

smokeyfm/SmokeyFM-Admin

 
 

Repository files navigation

DOCKER SETUP

Build

This should only have to be done once, or whenever the Gemfile is updated.

Create Containers

DNA Admin should now be available at localhost:8080, but it probably needs to be set up first.

Set up system

In a new terminal run:

docker-compose exec -e [email protected] -e ADMIN_PASSWORD=spree123 web rails db:seed &&
docker-compose exec web rails spree_sample:load &&
docker-compose restart

The Default User

email: [email protected] password: spree123

Reset DB

This will reset the existing database back to blank.

You could also blow away all the DB files. WARNING! You'll have to start the install over again if you do this.

Extensions

The system uses 3 spree extensions

  • spree_reffiliate (Thanks @Gaurav2728) github
  • spree_static_content github
  • spree_digital github
  • spree_promo_users_codes github

Each one is installed after spree, with it's own migrations generated using a specific bundle exec rails g command, which can be found on the README of the github page for each project. This only needs to be done once after spree is installed or upgraded.

Scripts

  1. Generate Affiliate Codes for Existing Users: bundle exec rake reffiliate:generate
  2. Create or reset a New Admin User: docker-compose exec web rails spree_auth:admin:create

Deploy

This uses heroku ruby buildpack on the heroku-20 stack. The master branch on github is hooked in to the deployment.

Git: https://github.com/POL-Clothing/pol-admin

Testing Production Settings

To test the production settings locally (used to test things like the S3 buckets for active storage), you need to set environment variables directly in the docker-compose.yml file. The production environment is configured to NOT use .env files.

To do this, apply the following patch to docker-compose.yml (after filling in real values for the keys and bucket name):

+++ docker-compose.yml  2021-06-02 10:51:03.267414021 -0400
@@ -16,4 +16,10 @@
     depends_on:
       - db
     environment:
-      DATABASE_URL: postgres://postgres:password@db:5432/dna_admin_development
+      DATABASE_URL: postgres://postgres:password@db:5432/dna_admin_production
+      RAILS_ENV: production
+      AWS_REGION_NAME: us-west-1
+      AWS_BUCKET_NAME:
+      AWS_ACCESS_KEY_ID:
+      AWS_SECRET_ACCESS_KEY:
+      RAILS_SERVE_STATIC_FILES: 1

After building and starting the container, you will need to build the assets in the local container with:

docker-compose restart

Keeping Your Code Updated

When there are lots of active changes occuring on this repo, make sure to regularly:

  1. Commit (or stash) your local changes on your branch
  2. git fetch origin
  3. git checkout main
  4. git pull origin main
  5. git checkout <your_branch>
  6. git merge main
  7. Fix merge conflicts (if any)
  8. git add .
  9. git commit -m 'merge in latest main'

Done! …now you will be up-to-date with latest code. Do this before you submit your PR, and you can be sure it will be a clean merge.

TODO

Other things we may need to cover:

  1. Ruby version

  2. System dependencies

  3. Configuration

  4. Database creation

  5. Database initialization

  6. How to run the test suite

  7. Services (job queues, cache servers, search engines, etc.)

  8. Deployment instructions

About

Admin website and Database Migrations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.2%
  • HTML 30.2%
  • Ruby 20.1%
  • SCSS 2.9%
  • Shell 0.3%
  • CoffeeScript 0.2%
  • Other 0.1%