Giter Club home page Giter Club logo

dropcart's Introduction

Dropcart V1

THIS VERSION IS DEPRECATED

Please check the website Dropcart or our new and improved version 3 on GitHub


What?

Dropcart is a new ecommerce platform. Dropcart is perfect for dropshipment: no need to carry your own product stock and instead focus on attracting new customers. Dropcart focuses on smart, automatic, API integrations and an easy to use system. Stock, prices and product descriptions are all read from an API and are easily customizable. New orders are automatically send to the supplier for further processing.

Why?

Setting up a dropshipment store is very cumbersome. It requires coding knowledge for implementing an awkward XML feed, new orders need to manually be placed and product specifications are usually very limited. It gets even worse when you have more than one supplier. Dropcart hopes to fix this.

How?

There is two sides to Dropcart; the shop owners and the suppliers. The code you are looking at right now is to connect with our API's โ€” both reading and writing. We build these by reading feeds from the suppliers.

Installation instructions

Download the latest stable release from Github.

Requirements

(this list is incomplete)

  • PHP Version: 5.3.+
  • PHP cURL
  • MySQL (+ a way to import an SQL file)

Integrations

Dropcart integrates with some third parties:

  • Mollie Payment Provider (iDeal, Credit card etc)
  • Postcode.nl postcode checker (will also complete address information)

Installation

  • Unzip the .zip file (or git pull)
  • Create a new database and save the credentials
  • Insert the database found in /_upgrade/database-initial-install.sql
  • Enter your database credentials in the file includes/php/dc_connect.php
  • Upload everything to FTP server
    • You might need to set the folder /images/logo to file permission 777 so image uploading works properly
    • Check if the .htaccess is copied correctly, otherwise the website will not work
  • Navigate to yourwebsite.com/beheer and login with username: admin, password: inktweb
  • In the Settings menu add the required information (including your api_key)
  • Navigate to yourwebsite.com and test if everything works

Customization after installation

  • In the CMS delete the default admin account and add your own
  • In the CMS customize your emails / add logos
  • Change the default images in the /images folder
  • Setup a cronjob for /cronjobs/dc_orderstatus.php. This checks the order status from the supplier and updates the customer (e.g. if the order is shipped). Min: daily. Recommended: hourly.

dropcart's People

Contributors

deargonaut avatar egogo-nl avatar erikstelt avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dropcart's Issues

Add validation for `site_url` parameter

If the site_url option (found in table dc_options) does not end in a slash / some links and includes do not work.

Add better validation to check if the string ends with a slash before storing it in the database.

Upload logo from CMS

Allow users to upload their own logo from the CMS (so .php files don't need to be edited).

Move variables in invoice template to database

Currently there are hardcoded variables in the invoice template (/includes/templates/dc_invoice_template.tpl) for the footer. This information (site name, site address, site IBAN, etc) should be stored in the database and retrieved from there.

Selector add trigger('change')

Add $('#printerSerieSelect').trigger("change"); to the selector in (/includes/php/dc_include_selector.php). This speeds up the selecting of printer by automatically selecting the first element.

Support for payment method Bank Transfer

The current checkout will not work properly with payment methods that require a long time to confirm.

E.g. a bank transfer can take up to 3 days to confirm the payment. If in this time the record in dc_cart gets deleted (or modified?) the payment will not register properly.

Perhaps the cart needs to be stored in another table that can't be modified?

Dropcart werkt niet out-of-the-box zonder vhost (enhancement)

De dropcart installatie gaat er altijd vanuit dat alle bestanden in de root directory staan op de server. Dit maakt het lastiger om te werken op localhost.

Mijn installatie staat in /var/www/html/dropcart
Dropcart probeert het config bestand te laden uit /var/www/html/includes/php/..

Zie screenshot:
http://i.imgur.com/04Lu5Ib.png

Product stock no support for virtual products

In dc_product_details.php the stock for a product gets set by doing $intStock = $Product->getStock();. This is not correct since the API can also return infinite:

"stock": {
"label": "virtual",
"value": "infinite"
},

Mollie API gives fatal error if transactionId is unkown

If the table dc_customers_orders_id contains an invalid/old record with a wrong transactionId the Mollie API gives a fatal error instead of a warning.

This causes problems in dc_shoppingcart3_process.php. The while loop stops running and orders are not created.

Enhancement: add enviorements

Add support for development mode. Some key features are not testable, if not in live enviorement because of 3rd party API's like Mollie.

Example of feature not working on development machine (without workaround): Creating new orders.

Rounding price differences

Currently prices are not correctly roundend (noticable with the new tiered pricing with high order quanties).

Example:

  • Product price of 1.25 incl. VAT
  • excl. VAT is 1.25 / 1.21 = 1.03
  • Incl vat is 1.03 * 1.21 * 100 = 124.63

Problem is with calculation of the excl VAT. This price needs to be rounded (round(PRICE, 2);):

  • /beheer/dc_order_manage.php
  • includes/dc_functions_global.php
  • includes/pdf/dc_invoice.php

Add order id to json export

Add order id to order export generated in beheer/dc_order_manage.php. This makes it easier to link orders for multiple purposes.

Logout in admin does not work

Loging out of the admin doesn't destroy the session

session_start() call is missing before session_destroy() in beheer/dc_logout.php

Allow boilerplate content per category

The boilerplate product content (default) is applied to all products. It would be useful to set custom content per category so you can write 1 text for "cartridges" and another for "papier".

See beheer/dc_content_admin.php for how it currently works.

Discount code allow different values per code

In dc_codes_manage there is an option for "Kortingstype" to allow "verschillend per code". This is currently not supported.

E.g. "Kortingswaarde" requires a value else it's defaults to 0.00 and when you create a new order specific code on dc_codes_codes_manage there is no option to set a value.

PHP Notification errors on many pages

Depending on server settings a lot of PHP pages generate PHP Notice errors. Preferably these need to be solved and alternatively these need to be suppressed.

Add Track&Trace to order send emails

Currently the "your order has been send" email does not contain a tracking code. This would be very useful and reduce the number of customer questions.

Show if order has been processed by supplier

Show a checkmark / icon of some sort to display that the order has been processed by the supplier. This can be done with the external orderId.

Perhaps also an option to resubmit to the supplier (in case something went wrong).

Email manage; BCC input is required

In /beheer/dc_email_manage.php is the input field for BCC e-mailadres required. This field should be optional. Other fields should have an indicator if they are required or not (*).

Tell-a-friend discountCode gives Error 500

With the following POST data

orderId=1&mafName=Martijn2&mafEmail=martijn%40inktweb.nl

The page

dc_shoppingcart4_tellafriend.php gives a HTTP 500 error.

Needs more testing.

Add responsive classes to /beheer/

The CMS is currently not responsive to the screen resolution. Adding this would allow easier viewing in mobile but also fixes the small sidebar in laptop layouts:

image

Datepicker for vouchercode dates

The from and to dates in dc_codes_manage.php need to be entered in the yyyy-mm-dd hh:mm:ss format. A datepicker would be useful.

Custom input field for products accepts negative input

In dc_product_details.php the custom input quantity field <input type="number" class="quantity" id="quantityInput" name="quantity"> accepts negative numbers (-1).

The restriction min="1" should be added and validation in includes/json/addProductToCart.php should be added.

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.