Skip to content

Latest commit

 

History

198 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Neighborbood Lending Library

Django Capstone project PDX Code Guild (Summer 2019)

Project Overview

The creation of this app was inspired by a KPTV news story about a girl scout troop whose trailer full of camping gear was stolen the day before a big trip to Crater Lake. At the eleventh hour, neighbors, friends and family rallied to ensure the troop had the gear they needed to take the trip as scheduled. People loaned or donated tents, sleeping bags, stoves, tarps, lights, etc.

For anything that was on loan only, the scout leader presumably had to keep track of who each item belonged to. Why not make an app that makes it easy for neighbors, friends, family, teams, hobby groups, basically people that know each other IRL (in real life), to share their stuff?

Think of it as a virtual library for more than just books. You might find DVDs (if anyone uses those anymore), games, garden tools, camping gear, sport equipment, beach gear, tools, luggage, ... the list goes on; stuff people have in their garages that's gathering dust most of the time.

This app will include:

  • a user registration system
  • user profile pages
  • a catalog of items that can be checked out from a variety of categories
  • an interface for lenders to add, edit, and remove items
  • an interface for borrowers to request, checkout/check in items

Functionality

Homepage

Visitors will see a list of categories to choose from, like Craigslist.

Note: An upcoming version there will have a search field and corresponding results page.

When a category is clicked, they will go to that Category's listing page.

Category page

This page will fetch all the items for that category from the item catalog and display them to the user.

  • Name
  • Subcategories - for Camping Equipment, the subcategories might be: Tents, Sleeping bags, Stoves, etc.
  • Owner (aka the Lender)
  • Availability

Profile page

Owners will be able to: (1) manage checkout requests, (2) see, at a glance, which items are checked out and by whom, (3) change availability of an item, and (4) check in items.

Owners will see:

  • Checkout Requests: which item was requested, name of the perspective borrower
  • Items that have been checked out: name, due date, current borrower
  • A form to Add, Edit, and Delete items
  • A list of all items they have in their catalog

Visitors will be able to: (1) browse available items, (2) contact the owner.

Visitors will see:

  • All the items that an owner (Lender) has to offer
    • Name
    • Category & subcategory
    • Availability (if item is currently checked out, the expected return date will be shown)
  • A form to contact the owner

When users click on the Item Name, they will go to an Item Detail page.

Item Detail page

This page will have (1) additional information (not shown on the homepage or profile pages), (2) and a form to request to check out an item.

  • Additional information:
    • Name
    • Description
    • Category and subcategory
    • Availability
    • Condition of the item (Like New, Very Good, Good, Acceptable)
    • Replacement cost, if item is lost or damaged
    • Owner
  • Request form:
    • Name - prepopulated from user.username
    • Text field - to add any information to the request like when item is needed

Owners will also see a Checkout History for that item.

Data Model

User

Django built-in feature

id                          Automatic PK field
username                    CharField
email                       CharField  

UserItemStatus

id                          Automatic PK field
name                        CharField

name: Available, Unavailable, Hidden, Lost

CheckoutStatus

id                          Automatic PK field
name                        CharField

name: Pending, CheckedOut, Returned

UserItemCategory

id                         Automatic PK field
name                       CharField

- Books (Technical, Fiction, Nonfiction, Kids, Cooking, etc.)
- Games (Board Games, Handhelds, Video Game DVDs (PS, Xbox), etc.)
- DVDs (Movies, TV Shows, Instructional, Concert Videos, etc.)
- Camping Equipment (Tents, Chairs, Coolers, Sleeping Bags, Tarps, etc,)
- Sports Equipment (Basketballs, Baseballs Bats, Gloves, Water Skis, Snow Gear, etc.)
- Beach Equipment (Quickshade, Straw Mats, Stuff making sand castles, etc.)
- Tools (Hand Tools - Hammers, Screwdrivers, etc; Power Tools - Saws, Drills, Bit Sets, etc.)
- Garden Equipment (Rakes, Hoes, Brooms, Hedge Clippers, Trimmers, Garden Gloves, Trowels, etc.)
- Luggage (Rolling Suitcases, Carryons, Hanging Bags, etc.)
- Event Equipment (Tables, Chairs, Umbrellas, etc.)
- Cooking Equipment (Pots and Pans, Plates, Bowls, Silverware, etc.)
- Stuff for Parents (Stroller, Play Pens, etc.)

UserItemCondition

id                         Automatic PK field
name                       CharField

- Like New
- Very Good
- Good
- Acceptable

UserItem

id                          Automatic PK field
name                        CharField
slug                        SlugField
description                 TextField
image_url                   TextField
type (category)             ForeignKey(UserItemCategories)
condition                   CharField
replacement_cost            CharField
owner                       ForeignKey(User)
item_status                 ForeignKey(UserItemStatus)

UserItemCheckout

id                          Automatic PK field
user_item                   ForeignKey(User_Item)
item_status                 ForeignKey(UserItemStatus)
reason                      CharField
request_date                DateTimeField
checkout_date (nullable)    DateTimeField
checkin_date (nullable)     DateTimeField
borrower                    ForeignKey(User)
due_date                    DateTimeField

Schedule

Section Duration Done?
Aug 5 - 27
Registration & Login ~2 days Yes
User Item Management ~3 days Yes
User Profile ~3 days Yes
Create Borrow Request ~2 days Yes
Approve/Deny, Check In Item ~2 days Yes
Improved Styling ~2 days
Post Graduation
Location-based filtering & Groups ~4 days
Rating & Reviews ~7 days

About

Neighborhood Lending Library for PDX Code Guild Capstone project

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages