Created
February 22, 2012 15:51
-
-
Save diorahman/1885642 to your computer and use it in GitHub Desktop.
ROADMAP OVERVIEW
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TODO | |
1. Manage secure connection (through Google's AppSpot (https://appengine.google.com)) | |
- (current) scenario | |
- By using the standard frameworks and provided api (http://code.google.com/appengine/docs/python/apis.html) | |
- redirecting request from web app (PHPServer) to application server (NodeServer) | |
- manage images (tentative) | |
- refs | |
- http://code.google.com/appengine/docs/python/gettingstartedpython27/ | |
- http://code.google.com/appengine/docs/python/apis.html | |
2. Worker (template, project management, zipper, send mail) | |
- requirements | |
- receive order from NodeServer -> receive temporary project id | |
- temporary project ids management (using queue) | |
- temporary project id is used as token for ordering jobs (queue) | |
- the queue is handled using 0mq (http://www.zeromq.org/bindings:node-js) or resque (https://github.com/technoweenie/coffee-resque) | |
- preparing project templates | |
- translating params sent by PHPServer into mustache context | |
- render templates | |
- zip the resulted project | |
- compile! | |
- submit the zip file to RemoteCompilerServer | |
- receive the project id | |
- associating project-id with temporary project id (temporary project id is used as token) | |
- the association persisted on redis server (redistogo.com) | |
- answer with project-id if the compilation succeed! | |
- send the compilation result to user | |
- upload the compilation result to S3 and send the link by e-mail | |
- push the compilation status to user via websocket | |
3. Application server | |
- manage user | |
- using 3rd party services (facebook and twitter) | |
- associating user with generated token from Remote Compiler | |
- using plain authorization | |
- authenticating request from PHPServer | |
- using sessionid and userid | |
- handling icon (image upload) | |
- tentatively using appspot | |
- resize it to 64 and serialize it as base64 | |
- more exploration on this: https://gitorious.org/hicg/hicg/blobs/master/index.php - so user could design their own icon on the fly | |
- manage job orders and queue using 0mq or resque |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment