{"id":20460191,"url":"https://github.com/lukestorry/windsurf-shop","last_synced_at":"2026-04-09T23:48:13.884Z","repository":{"id":74374163,"uuid":"145720155","full_name":"LukeStorry/windsurf-shop","owner":"LukeStorry","description":"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.","archived":false,"fork":false,"pushed_at":"2018-10-06T15:40:37.000Z","size":3376,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-16T00:26:04.571Z","etag":null,"topics":["expressjs","nodejs","online-shop","pugjs","shopping-cart","sqlite3","windsurfing"],"latest_commit_sha":null,"homepage":"https://windsurf-shop.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukeStorry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-22T14:25:27.000Z","updated_at":"2019-01-21T20:45:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"27326876-1a2c-4550-8b65-d736391d2f82","html_url":"https://github.com/LukeStorry/windsurf-shop","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeStorry%2Fwindsurf-shop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeStorry%2Fwindsurf-shop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeStorry%2Fwindsurf-shop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeStorry%2Fwindsurf-shop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukeStorry","download_url":"https://codeload.github.com/LukeStorry/windsurf-shop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242014722,"owners_count":20057880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","nodejs","online-shop","pugjs","shopping-cart","sqlite3","windsurfing"],"created_at":"2024-11-15T12:18:37.135Z","updated_at":"2025-12-04T01:10:38.944Z","avatar_url":"https://github.com/LukeStorry.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# windsurf-shop\nA 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.\n\n\n[![herokubadge](https://img.shields.io/website-up-down-green-red/https/windsurf-shop.herokuapp.com.svg?label=Heroku%20Deployment)](https://windsurf-shop.herokuapp.com/)\n[![Licence MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/LukeStorry/windsurf-shop)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FLukeStorry%2Fwindsurf-shop.svg?type=small)](https://app.fossa.io/projects/git%2Bgithub.com%2FLukeStorry%2Fwindsurf-shop?ref=badge_small)\n\nOriginally written for the University of Bristol's COMS32500 Web Technologies unit.\n\n#### Deployed on Heroku: [\u003cimg src=\"public/images/logo.png\" height=\"20\"\u003e WindsurfShop](https://windsurf-shop.herokuapp.com)\n\n\n\n## Installation\nSimply clone the repo, and install dependencies:\n```bash\ngit clone http://github.com/lukestorry/windsurf-shop\ncd windsurf-shop\nnpm install\n```\n\n\n## Usage\n\n`npm start` runs the server with `node`, head to `http://localhost:3000/` to see it.\n\n`npm run devstart` same as above, but with `nodemon`, so the server restarts upon file changes.\n\n`npm run deploy` deploys to Heroku, if the remote app has been set up.\n\n`npm run reset-database` removes the database, and instantiates new empty tables.\n\n`npm run update-products` overwrites the products table in the database with the contents of the products.csv file.\n\n`npm run check-database` outputs the schema and names of items of both the user and products table, to check functionality.\n\n## Main Technologies\nUses 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.\n\n[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)\n\nProducts and users are stored in an SQL database accessed and monitored using [sqlite3](https://www.npmjs.com/package/sqlite3).\n\n\n\n## Licenses \u0026 Copyright\nProducts, images, and descriptions are retouched/edited versions of products for sale at [Boardwise](http://www.boardwisecannock.co.uk/windsurfing-c-385.html).\n\n[Express-generator](https://www.npmjs.com/package/express-generator) was used to get up and running ([MIT License](https://opensource.org/licenses/MIT)).\n\nAll 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).\n\n\u0026nbsp;\n\n##### Fossa Licences Analysis:\n[![FOSSA Licences Scan Results](https://app.fossa.io/api/projects/git%2Bgithub.com%2FLukeStorry%2Fwindsurf-shop.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FLukeStorry%2Fwindsurf-shop?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukestorry%2Fwindsurf-shop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukestorry%2Fwindsurf-shop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukestorry%2Fwindsurf-shop/lists"}