/ngx-trebol-frontend

eCommerce Single-Page Application.

Primary LanguageTypeScriptMIT LicenseMIT

Trébol (Spanish Clover), The Virtual Web Store

All Contributors

NPM Package Build Status

Status / Roadmap

Currently working towards support for the next minor API version (v1.1).

Infrastructure

The application itself lives in the /src/app/ directory, and is inmediately followed by feature modules. Excepting for the /api module, each one is divided into bare components, bare directives, a routing module if any, routed components and dialog components.

  • store/ contains everything related to shopping itself; you can view the product catalog, log in or sign up for an account, reviewing cart, check out, etcetera.
  • management/ contains elements relating to the administration of data internals and POS: you register, update and categorize products; create users; list customers; upload images, etcetera.
  • shared/ exports stuff that is used by other modules.
  • api/ contains the dependency injection tokens, interfaces and modules to interact with the the backend APIs
    • local-memory/ contains a fake/mock API implementation in client-side code. It's the default option to build and serve with; used for the demo and sometimes for unit tests.
    • http/ contains the implementation module and services that work with HTTP calls; these require a real, running API.

There are also two folders that matter to the entire codebase:

  • models/ contains the data types (TS classes) used across the application.
    • entities/ has those models that are sent to and received from the APIs.
  • i18n contains internationalization files. And needs a heavy update...

Requirements

Getting started with the code

Just do npm install in the root directory of your copy of the repository.

Testing

Jasmine tests are providing about 40% of code coverage, you can give them a try using ng test in the root directory.

Configuring the build / serve process

  • The default environment files are located in /src/environments/; one is for the simpler variables and the one is for module dependencies.
  • The /src/angular.json file contains two base configuration definitions that you can use: production and localhost.
  • Make yourself comfortable with the official guide on Building and Serving Angular Apps. Basically, you need to create a copy of the environment files, rename them following the pattern for your desired configuration, and call the ng command, targetting said configuration.
  • You can also use the angular-cli-ghpages plugin to automate your deployment.

Contributing to this repository

Please review the contributing guidelines before proceeding.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


eLeontev

💻

Douglas Modena

💡

Chirag

💻

Aamir Bakhtiar

💻

This project follows the all-contributors specification. Contributions of any kind welcome!