Skip to content

caripang/rebuildingtogethercaptain

 
 

Repository files navigation

# ROOMs app for Rebuilding Together Peninsula

# Copyright 2010 Luke Stone

# This is an online ordering system for construction captains for the
# annual Rebuilding Day.

# Set up

# Install appengine_django, I forget the details.

# Install gaeunit for Django
From http://code.google.com/p/gaeunit/, I used gaeunit-2.0a_for_django.zip
See svn revision 13.

Modified gaeunit.py to say
_LOCAL_DJANGO_TEST_DIR = 'test'

and added to urls.py (based on gaeunit/urlsauto.py)
    (r'^test', include('gaeunit.urls')),


# Install tablesorter and south-street date picker from jquery.
Again, I forget the details.

# Install appengine rest server
http://code.google.com/p/appengine-rest-server/wiki/GettingStarted
by copying to /rest
and following instructions in README.txt


# Running unit tests
Start up the dev appserver.  Hit this URL to run all tests:
http://localhost:8081/test
To run just one module from the test/ dir:
http://localhost:8081/test?name=test_order


# Testdata!
# Conventional key ranges:
# 1000-1999 Staff
# 2000-2999 Captain
# <number>  NewSite
# 3000-3999 SiteCaptain

kinds="Staff Captain NewSite SiteCaptain"

# Copying testdata into dev appserver
port=8084
kinds="Captain"
for kind in $kinds; do
  echo "uploading $kind"
  echo | python $(which appcfg.py) upload_data --filename=testdata/$kind.csv --config_file=bulkloader.yaml --url=http://localhost:${port}/_ah/remote_api --kind=$kind --email test@example.com --passin
done


# Making a new testdata set.
# Remove files if you want to over-write.
kinds=$(grep kind: bulkloader.yaml | cut -b8- | xargs)
for kind in $kinds; do
  echo "downloading $kind"
  python $(which appcfg.py) download_data --filename=testdata/$kind.csv --config_file=bulkloader.yaml --url=http://rebuildingtogethercaptain.appspot.com/_ah/remote_api --kind=$kind --email $email --passin < pass
done

# Change workflow using Git.
# We use the github issue tracker to record the purpose of all changes, no matter how small.
# We'll use a convention of using the issue number to create a name for a git branch and app version. 
# Create an issue and it will automatically get an ID.
# babybunny#216
# In this example it's 216 and our branch and version will be "issue216".

# Start on the master branch, nothing pending.
$ git co master
$ git pull.
$ git status
On branch master
Your branch is up-to-date with 'gh/master'.
nothing to commit, working directory clean

# Make a new branch.
$ git co -b issue216   
# Set version in app.yaml to "issue216"
# Make some changes to the code.

# Deploy and test cycle.  Commit every time you have something that looks like progress.
$ git commit -a -m "description of my change"

# Deploy using GAE Launcher local app.  
# Use "Control > Clear deployment credentials" if you get a 403 error.

# Test at the version-specific URL.  You'll have to edit the "issue216" part to match your issue.
# https://issue216-dot-rebuildingtogethercaptain-hrd.appspot.com/
# You can compare with the default version at
# https://rebuildingtogethercaptain.appspot.com

# Repeat as desired.  Change, deploy, commit.
$ git commit -a -m "oops, fix something"

# Once everything looks good we want to share with the world.
# Migrate traffic to the new version using the console:
# https://console.cloud.google.com/appengine/versions?project=rebuildingtogethercaptain-hrd&moduleId=default
# Click the check box next to your version and then click "Migrate Traffic" at the top of the page.  
# Now your code is serving on the main site. 

# Merge the issue216 branch, merge back into master branch. 
$ git co master
$ git pull 
$ git merge issue216
# Enter a simple message like : "merging issue 216"
# Send to the github server. 
$ git push
# Close the issue
# babybunny#216
# You're done!

About

Automatically exported from code.google.com/p/rebuildingtogethercaptain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 52.6%
  • Python 37.0%
  • JavaScript 7.8%
  • CSS 2.6%