Simply visit this link: Toolshed Website. Happy tool hunting!
npm install
npm run local
./
| index.js # project entry point
| boilerplate.js # Core webserver stuff
| models.js # where Sequelize models are defined
| routes.js # where routes are defined.
| webpack.config.js # webpack config file
| webpack/ # frontend code that gets bundled via webpack
| public/ # gets served raw under <scheme>://<hostname>:<port>/public/
| scripts/ # devops scripts
| data/ # data you can use, not explicity used by app
| validators/ # code for validating input
+-- templates/
| | base.html # base template file
| | ... more .html files that extend base.html
To generate up-to-date documentation, run npm run docs
. This will create the necessary .md file for the documentation site.
Section 704, JavaScript, Google Maps API, Node, NodeJS, Database, Buy, Sell, Trade, Tool Shed, Web-based Application
This document proposes a web-based application that will allow its users to share, buy, sell, and trade tools of all kinds. Once users are registered with Tool Shed accounts, they can list their own tools and equipment available to the community. Users will also be able to see what tools are available from members of the surrounding community. Tool Shed is meant to be a low-cost solution for high-cost tools making them available at a fraction of the cost set by the owner.
Users will begin by registering online accounts using the Create Account option. After accounts are created, the user will manage tools they own and want to make available to the public, setting a daily rate, and availability. Users will also be able to search the local community using keywords like, “Table saw,” or “Miter Saw,” and view low cost locally owned tools available. Once a tool is selected for either buy, rent, or sell, the users will be able to make a request with the owner of the tool and agree on a data range and price. Users will be prompted to return the tool within an agreed window set by both users.
This application will be programmed purely in javacript (frontend and backend). Postgres will be the database, and web browsers will request pages and data from the backend (that queries the database) that are rendered via frontend code.
With many employees working from home and setting up home offices, Do It Yourself (DIY) projects are at an all-time high. With internet resources and basic knowledge, you can get a significant amount of work done without hiring an expensive professional to complete the job. The alternative to purchasing an expensive tool for a few days of use could be renting the tool from someone in the local community that has the tool available and not in use. Users will profit from what is sitting in their tool shed while the items are not being used. This will help keep the cost low for DIY projects.
This is a purely JavaScript web application project. To run locally (or ill-advisedly in production ;p), all you need is to install Docker and NodeJS >=v19. If you're running the server in production, you only need NodeJS should stop using the dockerized postgres and use a real postgres. You can configure how the server connects to the database via PostgreSQL env vars..
To run this project, you'll also need to run this geocoder.
Aaron Thomas |
Cameron Metzinger |
Destinee Sheung |
Justin Gallagher |
Kat Tejada |
Nathaniel Symer |