/angularspree

Angular(6+) E-Commerce front-end framework

Primary LanguageTypeScriptMIT LicenseMIT

AngualreSpree Logo

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

Check demo | Docs

PRs Welcome Pivotal Project page

TeraCommerce Bundle

🚀 Progressive Web App: Lighthouse score of 95/100.

What is AngularSpree?

AngularSpree is an open source Angular(6.x+) front-end application for Spree Commerce. It's free and always will be.

Bootstrap 4 Compatible

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.

Quick Links

Gitter Contributing Wiki

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 released 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.

🔥🔥🔥🔥🔥🔥🔥🔥🔥

If you are looking to build a project similar to this one with all the ready-made setup, then I highly encourage you to look at this starter seed project by Aviabird Team.

AngularSeed is a Plug and play Seed project built with ❤️ using Angular 6+, Redux/ngrx-store 6, Observables & ImmutableJs. We are commited to keeping this project upto date with all the latest versions of all the libs and components.

🔥🔥🔥🔥🔥🔥🔥🔥🔥

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)
  • More sorting features(Relevance, Newest, Price[low,high], Name[A-Z/Z-A])
  • google login support.
  • Add to favourite products.
  • New landing page
  • Search page and feature
  • Product image zoomer
  • Product Review and Rating feature

What's coming very soon?

  • Angular Universal support for better SEO and much more.
  • Payment options credit/debit cards.
  • Multilanguage Support i18n.
  • Support for further types of products(size, pattern, collar, etc).
  • Support for further options in types eg. size(32, 34, 36) etc. etc.
  • 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.

Angular 6 Fundamentals course

Based on this application and other applications we have built in past we are working on a full blown Angular 6 fundamentals course on udemy. Throughout this course you'll learn how to build yatrum from ground up.

Course curriculum

  • Architecture, setup, source files
  • TypeScript basics
  • Getting started with latest angular
  • Template fundamentals
  • Rendering flows
  • Component Architecture and Modules
  • Services, Http and Observables
  • Template Forms, Inputs and Validation
  • Reactive Forms and more magic
  • Routing

Subscribe to this course here

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, search, 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 6.
  • 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 6.0.3.

Current version of Angular-cli is 6.0.3.

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

DEMO

Video coming soon

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

We are avialible for hire

If you want to hire us for a project, please contact us on hello@aviabird.com.