This sets up a simple Multi-User blog on the Google App Engine. It was done as a part of Udacity's Full Stack Nanodegree. Through this project, the following skills were added to my toolbox:
- Templating engines
- Google app engine
- GQL
- The webapp2 library in Python, similar to Flask etc.
To see this in action, visit https://fullstack-158702.appspot.com/blog
- Install google app engine and make sure it's on your path. Documentation is here
- Clone this repository, navigate to the folder, and run:
dev_appserver.py .
to run on your local machine.
The following functionality is supported
- User creation, authentication
- Users can create posts
- The post title can be clicked to go to the permalink page
- Users can edit and delete posts
- Users can comment on both their own and others' posts
- Users can delete posts that they have created
- Users can like others' posts. If a user has already liked a post, the text "Liked!" is displayed. If the current post is of the same user, no "Like" is available even though the number of likes is visible
- Users can edit and delete their own comments. If the functionality is available, it is displayed below the comment
- Clicking on the "Thumbs up" emoji gives a nice popup that displays the list of users that has liked a post
Parts 1 and 2 were provided as starter code, and the rest has been added by me.
The UI design is such that if an option is not relevant to a user, it is not displayed:
- No "Like" option for a user on their own post
- No "Edit" or "Delete" option if the user does not have permission for the current post or comment
There are still some issues:
- The blog displays posts created before the ReferenceProperty system was used, so some posts don't have a username. HOwever, all posts created henceforth will have it. I could not figure out how to delete the db or make changes to the DB on Google App Engine
- It looks okay, but the looks across the blog could be much improved
- There is no support for images, haha