Overview
This project is about constructing a blog site for yourself. It is a simple
web project requiring some database design, code to interact with that, and
a small amount of AJAX.
Requirements (one student)
- While logged in, you should be able to...
- Add, edit, or delete categories for blog posts.
- Add, edit, or delete blog posts
in a category (edit: wording).
- Delete comments that other people have posted.
- Disable or enable comments for individual blog posts.
- Viewers should be able to leave comments (no HTML, obviously) on
blog posts with a name and email address. Posting should be
via AJAX.
- When displaying just blog posts, some number of posts should be visible
per page (five or ten, perhaps) with page controls to view other pages
of posts.
- Navigation should be available to view posts by category, displaying
just blog posts in that category. Paging should still work as described
previously.
- When viewing a single blog, comments (and the comment form) should be
displayed and functional.
Requirements (two students)
- All of the one-student requirements are required.
- Other viewers who post should be able to connect their posts with
another service such as Gravatar,
Google OpenID,
or Facebook Login
(any one of the above is fine).
- Instead of categories, blog posts should have "tags", such that a post
can be tagged with several labels.
- You (the blogger) should be able to upload and include pictures inline
in your blog post. You can decide the specific mechanism by which this
happens.
Requirements (extra credit):
For 10% extra credit, use a templating system for all of your output.
Instead of printing HTML straight from your PHP code, you should use templates
with a system such as Smarty or
Mustache. To qualify for this extra
credit, your PHP scripts should not contain any HTML code.