Rails is slow. Spree is slower. The main purpose of this repository is to give a Spree front-end that is snappier and provides a more modern approach to solve the common problems found in e-commerce space. We are enthusiastic about this project and will continue supporting this project. :)
This project was bootstrapped with Vue Cli. You can tweak any build related configuration by following this package.
Spree-on-vue provides a complete front end for Spree built entirely on VueJS. It works with spree_ams gem which is written using ActiveModelSerializers
and is a faster and a better alternative to the core spree api.
The purpose of this repository is to continue to evolve spree, making it faster and easier to use.
- VueJs - https://vuejs.org/
- Element-UI Library for VueJS - http://element.eleme.io/#/en-US
- Vuex - https://vuex.vuejs.org/
- Vue-router - https://router.vuejs.org/
- axios to make API requests - https://github.com/axios/axios
- Webpack for deployment
For a comprehensive list, see package.json
.
- User session management.
- Product listing.
- Product filtering by taxons.
- Product search.
- Cart.
- Single page Checkout steps.
- Order listing for logged in users.
- Address listing for logged in users.
- Route handling.
- Using local storage to maintain orders and session information in browser.
This application is under initial development currently. It uses a spree API server as its data source to run the Frontend. To set up the project:
git clone https://github.com/vinsol-spree-contrib/spree-on-vue
cd spree-on-vue
There are already a lot of resources on how to install node and npm for your operating system. Install Node and npm and come back to follow. This project is tested on node version 5.3.0 and higher.
This will install everything you'll need to run this application.
npm install
This runs a local server on http://localhost:8080.
npm run serve
Finally, run your Spree project on port 3000. This will serve as the api to run the frontend.
Add spree_ams
to your Gemfile
.
cd <path-to-your-rails-spree-project>
gem 'spree_ams', github: 'vinsol-spree-contrib/spree_ams', branch: 'spree_on_vue'
Run your rails server.
bundle exec rails server -p 3000
open http://localhost:3000
https://enigmatic-inlet-91726.herokuapp.com/ Visit this link to run the backend server deployed on heroku.
http://spree-on-vue.s3-website-ap-southeast-1.amazonaws.com/#/ Open this link to view demo.
Example Credentials:
- Email: [email protected]
- Password: spree-vinsol
We are heavily working on the below features. Our constant focus is on to improve the code quality, making the separation of concerns between components.
This repository is still very young and adding new features is our top priority. We'll begin writing test cases once we have build most of the spree core functionality.
We encourage you to contribute to this project. Please use GitHub issue tracker to raise pull requests, feature requests and report issues. For any security related issues, please email us directly.
Spree on Vue is released under the MIT License.
Saiyam Gambhir