Coder Social home page Coder Social logo

anh01 / expresscart Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pramodsvidyarthi/expresscart

0.0 1.0 0.0 654 KB

ExpressCart is a Shopping Cart built with Nodejs and ExpressJS using search rather than nested categories

Home Page: http://cart.mrvautin.com

License: MIT License

JavaScript 58.60% CSS 3.16% HTML 38.24%

expresscart's Introduction

ExpressCart

Alpha release - Please report any bugs

ExpressCart is a Shopping Cart built with Nodejs and ExpressJS. The application uses an embedded database (nedb) for easy installation. The application is designed to be easy to use and install and based around search rather than nested categories. Simply search for what you want and select from the results. ExpressCart uses powerful Lunr.js to index the products to enable the best search results possible.

Demo: http://expresscart.mrvautin.com

Installation

Git

  1. Clone Repository: git clone https://github.com/mrvautin/ExpressCart.git && cd ExpressCart
  2. Install dependencies: npm install
  3. Start application: npm start
  4. Go to http://127.0.0.1:7777 in your browser

NPM

  1. Install from NPM: npm install expresscart
  2. Move folder from node_modules: mv node_modules/expresscart/ ./ExpressCart
  3. Enter folder: cd ExpressCart
  4. Install dependencies: npm install
  5. Start application: npm start
  6. Visit http://127.0.0.1:7777 in your browser

Features

  • PayPal: ExpressCart has built in PayPal Express Checkout.
  • Seach: ExpressCart is a search based Shopping Cart backed by Lunr.js indexing to create the best possible results on searches.
  • Backend: ExpressCart uses the pure javascript nedb embedded database. This means no external databases need to be setup.
  • Design: ExpressCart is meant to be simple flat design.
  • Responsive: ExpressCart is built using Bootstrap allowing it to be responsive and work on all devices. The admin can be a little difficult editing Markdown on smaller screens.

Screenshots

Homepage Product View Cart view Checkout view Admin New product Admin Edit product Admin Order list Admin products Admin View order

Admin

Visit: http://127.0.0.1:7777/admin

A new user form will be shown where a user can be created.

Config

There are are a few configurations that can be made which are held in /config/default.json. If any values have been changed the app will need to be restarted.

Paypal details can be obtained by logging into your PayPal account.

  • cart_title refers to the title shown on the top of your cart navigation menu. If you would like a logo in it's place you will have to edit the /views/layouts/layout.hbs.
  • number_products_index refers to the amount of products shown on the homepage of your cart.
  • base_url refers to the URL of your cart. Note: Ensure there is no trailing slash
  • flat_shipping refers to the flat shipping rate if the total card amount is less than the value set in free_shipping_amount.
  • free_shipping_amount refers to the minimum spend for a customer to receive free shipping. If free shipping is never offered, set this value to something really high. Eg: 9999999.00
  • paypal_username refers to the value obtained from your PayPal account login
  • paypal_password refers to the value obtained from your PayPal account login
  • paypal_signature refers to the value obtained from your PayPal account login
  • paypal_cart_description refers to the value shown to the user when redirected to the PayPal payment page
  • paypal_currency refers to a valid currency to accept payments. PayPal does the conversion

Example config file

{
    "application": {
        "cart_title": "ExpressCart",
        "number_products_index": 8,
        "base_url": "http://localhost:7777",
        "flat_shipping": 10.00,
        "free_shipping_amount": 100.00,
        "paypal_username": "sandboxusername.gmail.com",
        "paypal_password": "4913720873",
        "paypal_signature": "RF0gpHVXEWAFcWxV7LmcPrNwnk7R3bYYYRCpSSR21C7fd0vWMlDl31Ah",
        "paypal_cart_description": "ExpressCart Payment",
        "paypal_currency": "USD"
    }
}

Styling/design

By default ExpressCart uses the flatly Bootswatch theme. This can be quickly changed by commenting/uncommenting other themes in /views/layouts/layout.hbs to the desired theme.

Contribute

Looking for help to develop the software further. There isn't any good Nodejs shopping cart software and ExpressCart could fill the void. Please submit any issues and pull requests to make this better. Looking for anyone with security experience to cast an eye over and pickup and issues.

TODO

  • Email receipts
  • More flexible shipping options/estimate etc
  • SEO improvements
  • Social sharing
  • UI improvements

Running in production

Using PM2 is the easiest and best option for running production websites. See the PM2 for more information or a short guide here: https://mrvautin.com/running-nodejs-applications-in-production-forever-vs-supervisord-vs-pm2/.

License

The MIT License

expresscart's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.