Demonstrating full use of Django's generic views with models and forms so that a user may create, retrieve, update, and delete (CRUD) Ads, similar to the popular craigslist site.
I layered user authentication through class inheritance of the generic views so that the user has a unique experience. For example, a logged in user is able to create, update, and delete their own ad. Also, a user has the capability to "favorite" ads created by themselves or other users. Use of Django's template language creates custom views for logged in users.
Users are able to log in using social authentication, in this case, Google or GitHub. I used the Django library social-auth-app-django. The original codebase is derived from django-social-auth.
ClassifiedWrite is my version of "craigslist." It demonstrates user login and special views for authorized users. Ads that are written by the user (with images that can be uploaded and viewed) are able to be updated and deleted by the owner. Full create, retrieve, update, and delete functionality of the ads are enabled (CRUD). One of my "favorite" parts of this project was my "favorites" feature. A user is able to favorite an ad and it is only viewable to that user when logged in. It is available to view once the user logs out and then logs back in.