No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Sharing is Caring

Connecting you locally one small step at a time.

Key FeaturesSetupUsageScreenshotsDocumentationHistoryTechnology Stack Credits

Build Status

Online resource where members of a given community can loan, give away or sell their items all while encouraging interaction to get to know your neighbors.

homepage screenshot

Key Features

  • Share items by offering them up for loan
  • Give away any item to those who need it
  • Sell your items to make an extra buck or support local community charities
  • Borrow a needed item from available community resources
    • Check in available community resources
    • Check out available community resources
  • Add a new item
    • Submit a new item
    • Cancel option to list new item
  • Edit an existing item you list
    • Submit edits made to an existing item
    • Cancel option to edit
  • Delete an existing item you list
  • Choose to borrow an item, claim a free item, or purchase an item


To clone and run this application, you'll need Git, Node.js (which comes with npm), MongoDB installed on your computer.

From your command line:

# Clone this repository
$ git clone

# Go into the repository
$ cd node-capston-abraham-linda

# Install dependencies
$ npm install

# Run mongod instance on localhost (Seperate Terminal)
$ mongod

# Seed data locally
$ mongoimport --db sharing-is-caring --collection items --drop --file ~/items/v1/primer-itemdataset.json

# Run the app
$ npm start


After you clone this repo to your desktop, go to its root directory and run npm install to install its dependencies.

Once the dependencies are installed, run an instance of mongod and seed data locally. Then, you can run npm start to start the application. You will be able to access it at localhost:8080


Borrow item

borrow screenshot

Return item

return screenshot

Add item

add item screenshot

Edit item

edit item screenshot

Delete item

delete item screenshot

Borrow/Buy/Claim item

claim item screenshot



  • item The Item object models the resources in the Items database for REST API.
    • name {string} Name of item posted
    • image {string} Display icon of image provided by user or default to random icon.
    • type {string} Designate what type of transaction category. Either 'Sell', 'Loan', or 'Free'.
    • description {string} Description of item posted
    • postedBy {string} Capture the user who posted the item
    • acceptedBy {string} Capture the user who receives the item
    • type {string} Designate what type of transaction sub-category. Either 'Make Offer', 'Purchased', 'Claim', 'Claimed', 'Borrow', or 'On Loan'.


  • welcome When a user acceses the application.
  • create When a user wants to create an item.
  • addItem When a user creates an item.
  • cancelOption When a user chooses to not create an item or edit an item.
  • edit When a user wants to edit an item.
  • editItem When a user edits an item.
  • claimItem When a user wants to receive an item.
  • returnItem When a user wants to check-in (return) an item.
  • delete When a user deletes an item.


  • welcome()Loads application
  • listItems()Gets all the items in the Items database
  • listItem(id) Gets an item in the Items database by id
  • createItem(newItem) Creates a new item to the Items database
  • editItem(editedDocument) Updates an existing item in the Items database
  • claimItem(claimDocument) Updates an existing item in the Items database to designate the recipient of an item
  • returnItem(returnDocument) Updates an existing item in the Items database to remove the recipient of an item and make item available again
  • deleteItem(id) Deletes an existing item in the Items database


  • 0.11.0 - Update README
  • 0.10.0 - Add landing page for demo
  • 0.9.0 - Update tests to include return, edit and claim functionality
  • 0.8.1 - Add additional css styling to buttons
  • 0.8.0 - Add additional css styling to list, create, and edit page
  • 0.7.1 - Fix race condition of action buttons
  • 0.7.0 - Add button functionality for returning items
  • 0.6.0 - Add sort by descending for items listing
  • 0.5.4 - Add button functionality for claiming items
  • 0.4.0 - Update tests for CRUD
  • 0.3.0 - Update images field to use provided image link or placeholder
  • 0.2.0 - Fix next issue
  • 0.1.0 - Initial release

Technology Stack Credits

This software uses code from several open source packages.

Front-end technologies

  • ES6 JavaScript
  • jQuery
  • CSS media queries

Server technologies

Data Persistence


Development Environment