Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/enkru/shopping-system
A shopping system
https://github.com/enkru/shopping-system
Last synced: 24 days ago
JSON representation
A shopping system
- Host: GitHub
- URL: https://github.com/enkru/shopping-system
- Owner: eNkru
- License: mit
- Created: 2022-09-22T03:30:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-26T22:41:42.000Z (over 2 years ago)
- Last Synced: 2024-11-08T12:12:50.152Z (3 months ago)
- Language: TypeScript
- Size: 888 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shopping System
[![Build Status](https://github.com/eNkru/shopping-system/actions/workflows/node.js.yml/badge.svg)](https://github.com/eNkru/shopping-system/actions/workflows/node.js.yml)
![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)A shopping system
## Technical Stack
* Node
* Typescript
* Jest
* eslint
* Yarn## Environment
The `CheckoutService` can be tested in Unit test.
Run following command to perform the tests
```
yarn
yarn test
```## Design Pattern
* OOP
* Singleton
* Factory
* Builder
* IoC
* TDD## Database Design
![ERD](https://raw.githubusercontent.com/eNkru/shopping-system/main/assets/Database%20ER%20diagram.png)## Class Design
![Class Diagram](https://raw.githubusercontent.com/eNkru/shopping-system/main/assets/Class%20diagram.png)## Improvement
1. Only key logics are tested. Not write unit testing for models and helpers.
2. Didn't use any framework, so the service injection is manually done in constructor.
3. Only had a design for database layer, no actual implementation.
4. Promotions are manually loaded in `StrategyService`, not configurable so far.