Create a craigslist clone from front to back. This project will prequire you to stretch both front end and back end knowledge.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Craigslist Clone w/ API

Live Demo

API Documentation

Create a Craigslist clone from front to back.

Learning Objectives

  • Plan a full scale project
  • Translate high level feature requests into code
  • Image upload and display
  • Front end layout


  • Login/Registration/My Account
  • City selection page
  • Ability to store a city preference on user profile
  • Category and subcategory features
  • Main page index (listing categories and sub categories)
  • Implement a Search feature
  • Posting a new classified
  • Posting list for any given subcategory. Must include 3 different data views:
    • List
    • thumb
    • gallery
  • Posting detail page. Should include:
    • Images
    • Navigation
  • Sorting:
    • Newest
    • High Price
    • Low Price

REST API features

Learning Objectives

Adapt an existing large project to include API endpoints that mimic existing functionality and constraints

Base URL:

  • Retrieve a list and detail of existing Categories
    • /categories/
    • /categories/:id/
  • Retrieve a list and detail of existing Sub-Categories
    • /sub_categories/
    • /sub_categories/:id/
  • Retrieve a list and detail of existing Posts by Sub-category & by Category
    • /category_listings/:id/
    • /sub_category_listings/:id/
  • Allow a user to create new categories and sub-categories through the API - but ONLY if they have is_superuser flag on their account.
  • Retrieve a detail of a single post.
    • /listings/:id/
  • Create a new Listing with all Foreign Key fields satisfied
    • /listings/
  • Update an existing post. Include being able to change the Sub-Category the post belongs to.
  • Allow a user to create an account through the API and return the user their API Access Token
    • /register/
    • /api-token-auth/
  • A non logged in user can NEVER create or update ANY records.
  • A logged in user can NEVER update a record created by another user.
  • Use Basic or Token authentication to allow a user to authenticate.