{"id":14956874,"url":"https://github.com/willianfalbo/shopping-app","last_synced_at":"2026-01-21T01:32:13.073Z","repository":{"id":43936578,"uuid":"211443682","full_name":"willianfalbo/shopping-app","owner":"willianfalbo","description":"A simplified version of an online shopping application","archived":false,"fork":false,"pushed_at":"2022-12-11T07:28:02.000Z","size":17649,"stargazers_count":2,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-11T03:55:52.663Z","etag":null,"topics":["ejs-templates","express-js","javascript","mongo-db","mongoose","multer","mvc","node-js","nodemailer","pdfkit","sendgrid","stripe-payments"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willianfalbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-28T04:26:27.000Z","updated_at":"2023-11-22T16:56:19.000Z","dependencies_parsed_at":"2023-01-26T18:15:55.019Z","dependency_job_id":null,"html_url":"https://github.com/willianfalbo/shopping-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/willianfalbo/shopping-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianfalbo%2Fshopping-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianfalbo%2Fshopping-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianfalbo%2Fshopping-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianfalbo%2Fshopping-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willianfalbo","download_url":"https://codeload.github.com/willianfalbo/shopping-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianfalbo%2Fshopping-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28621627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"ssl_error","status_checked_at":"2026-01-20T23:47:29.996Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ejs-templates","express-js","javascript","mongo-db","mongoose","multer","mvc","node-js","nodemailer","pdfkit","sendgrid","stripe-payments"],"created_at":"2024-09-24T13:13:39.738Z","updated_at":"2026-01-21T01:32:13.057Z","avatar_url":"https://github.com/willianfalbo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Shopping App\n\nA simplified version of an online shopping application. It was created for demonstration purpose only.\n\n### Features\n\n- Authentication: Sign-up, login, logout and reset password e-mail.\n- Shopping: Paginated product listing, product details and so on.\n- Cart: Add different products to cart and visualise checkout page.\n- Orders \u0026 Payments: Create orders, enter credit card details, get pdf receipt and view orders.\n- Admin Area: Manage products online, upload photos, create products, update and delete.\n\n### Quick Preview\n\n**Customer Area**\n\u003ckbd\u003e\n    \u003cimg src=\"./quick-preview.gif\"\u003e\n\u003c/kbd\u003e\n\n**Admin Area**\n\u003ckbd\u003e\n    \u003cimg src=\"./quick-preview-admin.gif\"\u003e\n\u003c/kbd\u003e\n\n### Quick Start\n\n1. Run `npm i` to install package dependencies.\n\n2. Run `cp .env.sample .env` to create the configuration file.\n    \u003e **NOTE:** Please make the proper changes in \".env\" file. \n    \u003e\n    \u003e \\* For **sending e-mails**, you must create an account in [SendGrid](https://sendgrid.com). Then, navigate to \"Settings \u003e API Keys\" menu, generate a new key and change your config file using the generated token.\n    \u003e\n    \u003e \\* For **using payments**, you must create an account in [Stripe](https://stripe.com). Then, navigate to \"Developers \u003e API Keys\" menu, copy the Publishable/Secret keys and change your config file using these tokens. ** **You must set an account name; otherwise, it will not work**.\n\n3. Run `docker-compose up --build` to set up a quick database. _** You can skip this step if you don't want to use Docker._\n\n    \u003e **IMPORTANT:** Before running above command, make sure you have [docker](https://docs.docker.com/engine/install/) and [docker-compose](https://docs.docker.com/compose/install/) installed. * It runs the **docker-compose.yml** file.\n\n4. Run `npm run seed` to Seed data into the database.\n\n    \u003e This command creates a couple of products and the Admin user (Username: `admin@gmail.com` / Password: `password`).\n\n5. Run `npm run start:dev` for starting the server.\n\n### Stack\n\n- Node.js \u0026 Javascript\n- MVC pattern \u0026 Express.js\n- EJS as templating engine\n- MongoDB database \u0026 Mongoose.js ODM\n- Session authentication \u0026 Password-Hashing with bcrypt\n- File uploads with Multer\n- Nodemailer for sending e-mails \u0026 SendGrid\n- Payment processing with Stripe\n- Pdfkit for generating PDF documents\n- Loggin files with Morgan\n\n### Credits\n\nThis app was created based on [Maximilian Schwarzmüller](https://academind.com/team/#maximilian)'s course. [NodeJS - The Complete Guide](https://academind.com/learn/our-courses/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillianfalbo%2Fshopping-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillianfalbo%2Fshopping-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillianfalbo%2Fshopping-app/lists"}