Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nodeart/angular-commerce
Angular components for scaffolding online store
https://github.com/nodeart/angular-commerce
angular angular-components angular2 angular4 ecommerce firebase firebase-database javascript shopping-cart typescript
Last synced: 4 days ago
JSON representation
Angular components for scaffolding online store
- Host: GitHub
- URL: https://github.com/nodeart/angular-commerce
- Owner: NodeArt
- License: mit
- Created: 2017-03-16T11:39:27.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-18T07:40:46.000Z (over 1 year ago)
- Last Synced: 2024-12-18T10:07:23.711Z (4 days ago)
- Topics: angular, angular-components, angular2, angular4, ecommerce, firebase, firebase-database, javascript, shopping-cart, typescript
- Language: TypeScript
- Homepage: https://angularcommerce.io
- Size: 1.9 MB
- Stars: 566
- Watchers: 60
- Forks: 252
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Store components
Online store components written in Angular.
Full API and documentation check [here](https://nodeart.github.io/).
Check change log [here](https://github.com/NodeArt/angular-commerce/blob/master/CHANGELOG.md)
## Store architecture
### Components dependencies
Most of components are separated from each other. The most common dependency is `Data Abstraction Layer (DAL)`.
DAL is a bridge for some connector ( for now Firebase Connector ). DAL contains methods for manipulating with database
(get products, add products to shopping cart, remove products from shopping cart etc.), auth api (register user, login, logout etc.).### Querying to database
As we started to use firebase for database, auth, storage, it was a question how to process heavy queries with aggregations, multiple conditions etc. [Firebase Realtime Databese api](https://firebase.google.com/docs/database/) was very simple for our requirentments.
After some time of research we stayed at `ElasticSearch`.
It's fast, allow to make heavy hard queries and Firebase team wrote an adapter to firebase called [Firebase Flashlight](https://github.com/firebase/flashlight).
For example, queries in `Product Service` are written like `ElasticSearch queries`.### Organization of products
About products organization you can read in docs for services, for example, `Product service` or `Basket service`.### Creating other connectors
If you want to create you own connector you must adopt it to `ElasticSearch flashlight` output.### Docs
To create documentation:
```
npm i
npm run build-docs
```To serve documentation:
```
npm run serve-docs
```