Book/Reading List site on Google app engine with Amazon product api integration

Book/Reading List site on Google app engine with Amazon product api integration

Closed - This job posting has been filled and work has been completed.

Job Description

The app must be made using the following technologies.

Google App Engine
Language: python 2.7
Framework: webapp2 or django
Database: App Engine Datastore
Templating Engines: Jinja2 or django
Caching: Memcached

Feature & function requirements:

1. Basic user registration and login/logout.
a. Store username, email, password
b. login page
c. registration page

2. For each user:
a. user page with unique url (domain.com/username) showing
- displaying book list, with image for each book
- A list of book lists. (like pintrest has mutiple pinboards, also see attached image)
b. account settings (change password, email, username)
c. a goal for number of books read, set on the primary list (3c)


3. Book lists:
a. Books needs to be pulled in from Amazons affiliate API. I will provide the amazon IDs needed.
Here is one example of the API being used in a similar way and the associated blog posts: http://amazingamazonstore.appspot.com/
Part 1: http://blog.rutwick.com/set-up-an-amazon-book-store-on-google-app-engine
Part 2: http://blog.rutwick.com/set-up-an-amazon-book-store-on-google-app-engine-2-constructing-and-signing-the-request-for-amazon-product-data
Part 3: http://blog.rutwick.com/set-up-an-amazon-book-store-on-google-app-engine-3-display-the-books-list-on-the-results-page

b. once the book query results have been returned, they need to be saved to the datastore and associated to that user and book list.

c. create two book lists types. I need a primary list, which will be the first list created and is limited to one per user. I also need a secondary list, there can be many per user.

d. from the primary list, a calculated percentage complete, with a meter showing progress.

e. users will need the ability to add books from other users lists, while logged in. (if not logged in them redirected to a login page)

f. book lists need unique urls (domain.com/username/listname)

4. Implement caching using memcached


Other requirements/notes:
- error handling
- well commented code
- *aside from item 4d, very little front end or design work needs to be done*

Open Attachment