Skip to content

Spree commerce front-end app in angular 2.x+ (current version 4.0.0-rc.5)

License

Notifications You must be signed in to change notification settings

ashish173/angularspree-1

 
 

Repository files navigation

AngualreSpree Logo

AngularSpree Plug and play frontend application for SPREE E-Commerce API built with ❤️ using Angular2, Redux, Observables & ImmutableJs.

Check demo

PRs Welcome Pivotal Project page

What is AngularSpree?

AngularSpree is an open source Angular(2.x+) front-end application for Spree Ecommerce. It's free and always will be. Go ahead use it the way you want to or let us know at hello@aviabird.com if you need any help with this project.

Home Page

On this page user can filter products as per category. Change layout of the products(cozy, comfortable) etc.

AngualreSpree Logo

Cart Page

Cart page displays all the line items or items in the cart which the user has added while browsing the website.

AngualreSpree Logo

Product detail page

Display's the detailed product information of a particular product.

AngualreSpree Logo

Why did we build it?

We have been working with Spree for very long time, making products for a lot of clients. There was one pattern we noticed in what the clients always asked for. They were comfortable using spree for the backend API but not for the front-end. These requests have been very consistent with so many awesome front-end framework around.

When Angular team realeased the beta version in March last year we knew that angular was going to be a big player soon. We decided to give it a try. Hence, AngularSpree was born as a front-end framework for the most awesome backend api for E-Commerce out there.

What's included?

Currently, this is a fairly basic vesion of the application. We are calling it a pre-alpha release.

What's working and ready to be deployed?

  • Add/Remove products to cart.
  • Select/Clear filters based on category.
  • Support for product variants.
  • Cart checkout feature.
  • Cash on delivery option.
  • Authentication (Login/Signup)

What's coming very soon?

  • Payment options credit/debit cards.
  • More sorting features(new/popular, Discount, Price[low,high]).
  • Support for further types of products(size, pattern, collar, etc).
  • Support for further options in types eg. size(32, 34, 36) etc. etc.
  • Multilanguage Support i18n.
  • Ability to add more than one addresses.
  • and many more....

There is a long way to go... keep an eye on this project here on github.

What in the Tech News?

We've built AngularSpree keeping scaling in mind leveraging the best technologies out there.

As of now, the application has 7 major modules, products, core, home, user, checkout, auth, shared.

We are working on documentation and we can share that once we are looking at a more stable release.

  • Exclusively using @ngrx libraries(store, effects, actions), showcasing common patterns and best practices.
  • Fully Observable approach using RxJS 5.0.1(latest beta).
  • Uses @ngrx/store to manage the state of the app and to cache requests made to the Backend API,
  • @angular/router to manage navigation between routes,
  • @ngrx/effects to isolate side effects.
  • @ngrx/actions to define the actions on the frontend.
  • Following Container/Presentation component approach.
  • Lazy loading of modules(for modules which are not immediately required for first painting the DOM).
  • ImmutableJs to create and safeguard objects againts mutability.
  • Project is divided into modules which are more or less independant of each other except core module.

**Current version of Angular is latest release 4.0.0-rc.5.

**Current version of Angular-cli is 1.0.0-rc.4

We try to make sure that we keep the repository upto date with the angular release every weekend.

Package Manager Yarn

We are using Yarn as a package manager in this project though you can also use npm if you like to.

Backend for this project?

**Start the API for this project to work successfully.

We have a very thin and custom repo which is the backend for this project. Clone it and run the server. We have updated the readme on how to setup the backend API project.

Contributing to AngularSpree

Where to start

There are many different ways to contribute to AngularSpree's development, just find the one that best fits with your skills. Examples of contributions we would love to receive include:

  • Code patches
  • Documentation improvements
  • Translations(yet to come)
  • Bug reports
  • Patch reviews
  • UI enhancements

Big features are also welcome but if you want to see your contributions included in AngularSpree's codebase we strongly recommend you start by initiating a chat on our slack channel.

Development server

Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Development server with Service Worker

Run npm run build--prod to build in production with service worker pre-cache and then npm run static-serve to serve.

Build with Service Worker

Run npm run build to build the project. The build artifacts will be stored in the dist/ directory. Use the npm run build--prod for a production build.

Who are we?

We are Aviabird Technologies.

We love to create awesome Web & Mobile products.

We are very proud of our work.

We love technologies like Golang, Elixir, Scala, Ruby, Javascript, Typescript, Swift, Java.

We love some frameworks too:-

  • Ruby On Rails
  • Phoenix/Elixir framework.
  • Spring framework.
  • AngularJs (1.x+ & 2.x+)
  • ReactJs
  • BackboneJs

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 76.5%
  • CSS 12.6%
  • HTML 10.2%
  • JavaScript 0.7%