This project will not update. Please go to Victorique.
Victory is an error reporting server. It runs on Google App Engine. You could download this project and then deploy to GAE with free plan. Your app could send error information to Victory with RESTful API.
##Demo url: https://victory-demo.appspot.com
post handled exception
go to application page then get application key:
https://victory-demo.appspot.com/settings/applications
// post test data with jQuery.
$.ajax({
type: 'post',
url:'/api/v1/exception/714457c7-5222-48da-b445-e7d97ee174a9',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
title:'load data error',
name:'Kelp',
email:'[email protected]',
description: "web service error",
version: "1.0",
device: "iPhone3,1",
os_version: "6.1",
access_token: "0123120592",
timeout: "30",
method: "POST",
url: "http://webservice.com/api/members",
parameters: "user_id=10",
status: "500",
})
})
##Clone
$ git clone --recursive git://github.com/kelp404/Victory.git
##Deploy
You should create a GAE account.
https://appengine.google.com
###update app.yaml
application: victory-demo
'victory-demo' should replace to your Application Identifier.
###update config.py
# web site domain. your gae application domain.
domain = 'victory-demo.appspot.com'
# this account is for sending email. it should be your gae account.
gae_account = '[email protected]'
# Victory use Google Account API
# The first signing in user is root.
# if allow_register is true, every one could use Google Account to sign in Victory.
allow_register = True
###deploy project
Upload files with SDK.
deploy
$ appcfg.py update Victory/
deploy backends
$ appcfg.py backends Victory/ update
ref:
https://developers.google.com/appengine/docs/python/gettingstartedpython27/uploading
https://developers.google.com/appengine/downloads
*First deploy you should wait GAE building indexes.
##iOS example code https://github.com/kelp404/Victory-iOS
##RESTful Web Service http://docs.victory.apiary.io/
##Development
# install node modules
$ npm install
# run the file watcher to compile CoffeeScript, SCSS
$ grunt dev
##Unittest
Before test, you should run GAE local server, and clear datastore, text search, and update url in function TestVictoryFunctions.setUp()
.
class TestVictoryFunctions(unittest.TestCase):
def setUp(self):
self.url = 'http://localhost:8080'
self.email = '[email protected]'
self.cookies = { 'dev_appserver_login': "[email protected]:True:111325016121394242422" }
clear datastore & text search:
--clear_datastore=yes --clear_search_indexes=yes
$ cd Victory
$ python tests
References:
##Send Email on Google App Engine SDK (localhost If you would to send email on localhost with GAE SDK, you should change application settings, else you will get some message.
INFO 2013-01-30 03:28:17,547 mail_stub.py:138] MailService.Send
From: kelp[at]phate.org
To: [email protected]
Subject: Kelp has invited you to join Victory.
Body:
Content-type: text/plain
Data length: 131
INFO 2013-01-30 03:28:17,548 mail_stub.py:294]
You are not currently sending out real email. If you have sendmail installed you can use it by using the server with --enable_sendmail
Open GoogleAppEngineLauncher >> Edit >> Application Settings (⌘ + I)
add --enable_sendmail
into Launch Settings >> Extra Flags.
Then open terminal.
$ sudo ln -s /usr/sbin/sendmail /usr/bin/sendmail
ref: http://stackoverflow.com/questions/1900029/google-app-engine-sendmail-command-not-found