Key Features • Setup • Usage • Screenshots • Documentation • History • Technology Stack Credits •
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.
- 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 https://github.com/thinkful-ei17/node-capstone-abraham-linda
# 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
item
The Item object models the resources in the Items database for REST API.name
{string} Name of item postedimage
{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 postedpostedBy
{string} Capture the user who posted the itemacceptedBy
{string} Capture the user who receives the itemtype
{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 applicationlistItems()
Gets all the items in the Items databaselistItem(id)
Gets an item in the Items database by idcreateItem(newItem)
Creates a new item to the Items databaseeditItem(editedDocument)
Updates an existing item in the Items databaseclaimItem(claimDocument)
Updates an existing item in the Items database to designate the recipient of an itemreturnItem(returnDocument)
Updates an existing item in the Items database to remove the recipient of an item and make item available againdeleteItem(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
This software uses code from several open source packages.
Front-end technologies
- ES6 JavaScript
- jQuery
- CSS media queries
Server technologies
Data Persistence
Hosting/SaaS
Development Environment
- Continuous Integration and Deployment
- Github (branching, pull requests, merging)
- VS Code
- Node.js Libraries