All Projects → mrmodise → Nodejs Ecommerce Store

mrmodise / Nodejs Ecommerce Store

Licence: mit
An ecommerce store built in NodeJS

Projects that are alternatives of or similar to Nodejs Ecommerce Store

Mernapp youtube
Build a MERN Stack App from scratch, and deploy it to Heroku
Stars: ✭ 51 (-55.26%)
Mutual labels:  mongodb, express-js, express-middleware
Spring Examples
SpringBoot Examples
Stars: ✭ 67 (-41.23%)
Mutual labels:  mongodb, elasticsearch
Mall Learning
mall学习教程,架构、业务、技术要点全方位解析。mall项目(40k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
Stars: ✭ 10,236 (+8878.95%)
Mutual labels:  mongodb, elasticsearch
Aus Search
A collection of Node JS scripts to create an Elasticsearch index of Australian addresses.
Stars: ✭ 76 (-33.33%)
Mutual labels:  mongodb, elasticsearch
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-62.28%)
Mutual labels:  mongodb, elasticsearch
Wertik Js
💪 A library that powers your app with GraphQL + Rest API
Stars: ✭ 56 (-50.88%)
Mutual labels:  mongodb, express-js
Transporter
Sync data between persistence engines, like ETL only not stodgy
Stars: ✭ 1,175 (+930.7%)
Mutual labels:  mongodb, elasticsearch
Springbootexamples
Spring Boot 学习教程
Stars: ✭ 794 (+596.49%)
Mutual labels:  mongodb, elasticsearch
Adminer Custom
Customizations for Adminer, the best database management tool written in PHP.
Stars: ✭ 99 (-13.16%)
Mutual labels:  mongodb, elasticsearch
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (-12.28%)
Mutual labels:  mongodb, elasticsearch
Rsyslog
a Rocket-fast SYStem for LOG processing
Stars: ✭ 1,385 (+1114.91%)
Mutual labels:  mongodb, elasticsearch
Node Production
Take Your Node.js Project to The Production Environment (VPS/Dedicated Server).
Stars: ✭ 35 (-69.3%)
Mutual labels:  mongodb, express-js
Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+47967.54%)
Mutual labels:  mongodb, elasticsearch
Nodbi
Document DBI connector for R
Stars: ✭ 56 (-50.88%)
Mutual labels:  mongodb, elasticsearch
Szt Bigdata
深圳地铁大数据客流分析系统🚇🚄🌟
Stars: ✭ 826 (+624.56%)
Mutual labels:  mongodb, elasticsearch
Graylog Plugin Metrics Reporter
Graylog Metrics Reporter Plugins
Stars: ✭ 71 (-37.72%)
Mutual labels:  mongodb, elasticsearch
Mall Swarm
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
Stars: ✭ 7,874 (+6807.02%)
Mutual labels:  mongodb, elasticsearch
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (+589.47%)
Mutual labels:  mongodb, elasticsearch
Dataengineeringproject
Example end to end data engineering project.
Stars: ✭ 82 (-28.07%)
Mutual labels:  mongodb, elasticsearch
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-8.77%)
Mutual labels:  mongodb, elasticsearch

Nodejs Ecommerce Store

An amazon clone ecommerce store built in NodeJS utilizing Express, Stripe Payment, MongoDB, Elastic Search, Faker API just to mention a few. Developed with the latest cutting edge industry standard technologies, eTswana stores allows a shopper to browse through the online store and buy products using a credit card. eTswana stores supports social sign up and sign in using Facebook.

Live Demo

View the live demo as hosted on Heroku at https://etswana.herokuapp.com/ (application may take few seconds to open)

Requirements

1. Internet connection
2. NodeJS (https://nodejs.org/)
3. VS Code (optional: I use WebStorm)
4. MongoDB (you can use www.mlab.com or Docker alternative)
5. Elastic Search (https://www.elastic.co/ or Docker alternative):
    Download version 1.7.5 others are not compatable
6. Stripe account

Instructions

Open the project in VS Code, and navigate to config folder. Open the config.js in the editor:

Add mongodb URL:

 database: '<mongo_db_url>' e.g. mongodb://localhost:27017/test

Provide a secret key:

secretKey: "<add_secret_key>" - e.g. LKSJ&%$#XFE

Using Facebook developer site, create a Facebook app and retrieve the following:

clientID: process.env.FACEBOOK_ID || '<facebook_id>'

clientSecret: process.env.FACEBOOK_SECRET || '<facebook_secret_key>'

Create an account with Stripe Payment (https://stripe.com/)

Open routes/main.js to add the 'sk_test_SAF...' 
number retrieved from Stripe.com

Running the application

Now that we are set. Open project in terminal, and:

npm install (this will install all dependencies)

Once all dependencies are installed

npm start 

aggg!! Project does not run

* Make sure Elasticsearch is running (version 1.7.5).
* If using MongoDB locally, make sure it is running as well.

alternatively if you have Docker and Docker compose installed then simply docker-compose up. This will install and run MongoD and ElasticSearch.

Testing

Add testing data to the application by loading API data from Faker API. To do this, open http://localhost:3000/api/<name-of-category-added>. Do this for all categories. I will automate this functionality with Cypress UI automation tool.

started on automating this

To run automated UI tests, run npm run test

The tests are written using the Cypress framework (https://www.cypress.io)

For Stripe payment testing please use the recommended cards on this: https://stripe.com/docs/testing

Docker & Kubernetes

To create a Docker container for the application, docker build -t etswana:1.0.0 .. Create the Docker image with docker run etswana:1.0.0

WIP: add more instructions on setting up Docker and Kubernetes including monitoring.

Whats Next

  1. REFACTOR! Clean code comments
  2. REFACTOR! Improved code readability
  3. More functionality to the ecommerce
  4. Write a detailed tutorial - probably use a package to generate one from the code comments

License

The MIT License (MIT)

Copyright (c) 2016 Mr Modise

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].