https://github.com/lukestorry/windsurf-shop
A simple web shop written for the University of Bristol’s COMS32500 (Web Technologies). Uses a Node.js Express Server to deliver validated XHTML rendered by the Pug templating engine, with adapted Bootstrap styling.
https://github.com/lukestorry/windsurf-shop
expressjs nodejs online-shop pugjs shopping-cart sqlite3 windsurfing
Last synced: 2 months ago
JSON representation
A simple web shop written for the University of Bristol’s COMS32500 (Web Technologies). Uses a Node.js Express Server to deliver validated XHTML rendered by the Pug templating engine, with adapted Bootstrap styling.
- Host: GitHub
- URL: https://github.com/lukestorry/windsurf-shop
- Owner: LukeStorry
- License: mit
- Created: 2018-08-22T14:25:27.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-06T15:40:37.000Z (over 7 years ago)
- Last Synced: 2025-01-16T00:26:04.571Z (over 1 year ago)
- Topics: expressjs, nodejs, online-shop, pugjs, shopping-cart, sqlite3, windsurfing
- Language: JavaScript
- Homepage: https://windsurf-shop.herokuapp.com/
- Size: 3.22 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# windsurf-shop
A simple web store, with a range of windsurfing products dynamically loaded from a database, a user accounts system, a shopping-cart stored in cookies, a search feature, and a design-your-own-sail app.
[](https://windsurf-shop.herokuapp.com/)
[](https://github.com/LukeStorry/windsurf-shop)
[](https://app.fossa.io/projects/git%2Bgithub.com%2FLukeStorry%2Fwindsurf-shop?ref=badge_small)
Originally written for the University of Bristol's COMS32500 Web Technologies unit.
#### Deployed on Heroku: [
WindsurfShop](https://windsurf-shop.herokuapp.com)
## Installation
Simply clone the repo, and install dependencies:
```bash
git clone http://github.com/lukestorry/windsurf-shop
cd windsurf-shop
npm install
```
## Usage
`npm start` runs the server with `node`, head to `http://localhost:3000/` to see it.
`npm run devstart` same as above, but with `nodemon`, so the server restarts upon file changes.
`npm run deploy` deploys to Heroku, if the remote app has been set up.
`npm run reset-database` removes the database, and instantiates new empty tables.
`npm run update-products` overwrites the products table in the database with the contents of the products.csv file.
`npm run check-database` outputs the schema and names of items of both the user and products table, to check functionality.
## Main Technologies
Uses a [Node.js](https://nodejs.org) [Express Server](https://expressjs.com/) to deliver XHTML rendered by the [Pug](https://www.npmjs.com/package/pug) templating engine, with adapted [Bootstrap](https://getbootstrap.com) styling.
[Bcrypt](https://www.npmjs.com/package/bcrypt) and [Passport](http://www.passportjs.org/) handles authentication and authorization, with CSRF protection from [csurf](https://www.npmjs.com/package/csurf)
Products and users are stored in an SQL database accessed and monitored using [sqlite3](https://www.npmjs.com/package/sqlite3).
## Licenses & Copyright
Products, images, and descriptions are retouched/edited versions of products for sale at [Boardwise](http://www.boardwisecannock.co.uk/windsurfing-c-385.html).
[Express-generator](https://www.npmjs.com/package/express-generator) was used to get up and running ([MIT License](https://opensource.org/licenses/MIT)).
All other modules used are listed in `package.json`, and apart from `sqlite3`, (which has a [BSD-3-Clause Licence](https://opensource.org/licenses/BSD-3-Clause)), they are all licensed under the [MIT License](https://opensource.org/licenses/MIT).
##### Fossa Licences Analysis:
[](https://app.fossa.io/projects/git%2Bgithub.com%2FLukeStorry%2Fwindsurf-shop?ref=badge_large)