Coder Social home page Coder Social logo

kickasscommerce / kickasscommerce Goto Github PK

View Code? Open in Web Editor NEW
33.0 33.0 4.0 257 KB

A small proof of concept for building and eCommerce system based on an underlying API system.

Home Page: https://github.com/KickAssCommerce

License: MIT License

PHP 100.00%
ecommerce ecommerce-framework php7

kickasscommerce's Introduction

KickAss Commerce

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Dependencies Total Downloads

A small proof of concept for building an eCommerce system based on an underlying API system.

Currently built on Moltin but PRs for other systems are welcome

"So is this a new eCommerce system?"

NO! we want to give you a way to work with your favourite (API enabled) eCommerce system without the constraints it might impose on the technologies you can use or the way you implement the frontend If you're curious about the 'why' behind this project please read our blogpost about it

Requirements

  • PHP ^7.0

Authors

For more information about the KickAss team and to apply for a position please us our team repository.

Installation

$ composer create-project kickasscommerce/kickasscommerce=dev-develop .

More information

Examples

Anything in the app directory is example code. The app directory should be used for your project code.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

kickasscommerce's People

Contributors

adam-paterson avatar andreasemer avatar dmanners avatar sandermangel avatar strajeru avatar tzyganu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kickasscommerce's Issues

Session data - how do the cool kids/frameworks handle that?

How do we handle session data? Stuff like user cart id's or a users active profile.
Are there standards for that?
How can we make it easy to use different drivers for storage?
Maybe even use the cache library for this? (Or is that too far out)

So many questions.

--- update ---
while browsing the world wide web I found some stuff floating about

Is SlimPHP the best solution for routing

We picked SlimPHP because of the ease of implementation but there is a lot more out there. I guess it depends on the direction we want to go.

Do we wanna be API based, only work with REST? Do we offer HTML rendered pages? Should we allow for our router to also function as a proxy to other services?

would Klein or Flight or even something outside of PHP be a solution?

A bit of admin

Could somebody create the following and provide write access (even if it's temp)? There is no point me setting one up to migrate it to an organisation account.

  1. Packagist
  2. DockerHub organisation
  3. Travis-ci

Lots of * in the composer.json

I know I know we are super good and writing code that will not break with BC issues but maybe we should convert the * in the composer.json to "real" values.

Is AOP a bad thing?

So this one is a question. I don't know enough about AOP from a practical sense but is it a bad thing?

Does it mean we don't know how to build a "nice" system and so have to add in a hack to let people work with it? Or does it mean we are super cool and flexible?

move to Moltin V2 API

Moltin Indicated they're hard at work at a version 2 of their API.
It's semi public and will be launched long before we go beta (since we don't have a date even)

So I'm voting to move the Moltin Bridge to that version
https://github.com/moltin/php-sdk/

Invalid cache key

I tried to retrieve a product with a slug value of 12cup-coffemaker, that's from Moltin's documentation example.

Then I tried a request to http://myhost/shop/product/12cup-coffemaker

Ive got an invalid cache key exception in \Cache\Adapter\Filesystem\FilesystemCachePool::getFilePath:152.

It was due to the fact that the - character is not admitted in cache keys.

It could be useful to hash the cache key; I think a base 64 encoding would be good enough.

Thank you!

Make maps Immutable

remove setters from maps. Is that even possible with the Symfony serializer?

The repo knows to much

While I was thinking about the Ninja/Dragon question my mind put our repository class into my head. I think we made a mistake I think the repo should be generic but at the moment it is moltin specific. Overall it knows too much.

Maybe when I am at home on my own I can put together a PR with the correct separation of concerns before anyone notices how bad we code!

Add in some easy to use DI

Since we will expand this and also aim to let others extend it for their use we should have some nice di that they can use.

Are we a lib or a framework?

What the hell are we? I think this is super important as we move and grow. Do we build a KickAssCommerceLib that is a lib and then a KickAssCommerceFramework that is an example implementation of our own lib?

My definitions would be.

  1. Framework tells you what tools to use and lets you use them,
  2. Lib helps you do things in the tools you love best,

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.