Cartify
Introduction
Cartify is designed to serve as a shell for the swift rollouts of e-Commerce web applications. The service-oriented design decouples the application logic from the core constructs such as data persistence, logging, error reporting, and payment gateway integration which provides developers with a clean API for customization.
Some of the core features include the ability to browse the list of products organized to highlight the key attributes namely category, price, reviews, rating etc. Detail of each product can be viewed along with associated user feedback. Customers can add/remove items to/from the shopping cart. Administrators can manage inventory by adding new items and revising attributes of the existing items.
Try it out https://faxad.github.io/cartify
Core Architecture
- Service Oriented Design
- Reactive Components
- Modularized
- Material Design
- Flexbox Layout
- Error Logging & Reporting using Sentry
- Automated Tests using Jasmine, Karma, PhantomJS, Istanbul
Technology Stack
- Angular 7
- Typescript
- Reactive
- Express JS as a Backend
- MongoDB Atlas as DBaaS Provider (MongoDB Cloud Services)
- Error Logging & Reporting using Sentry
- DB Performance Monitoring
- Material Design
- Flexbox Layout
Usage & Configuration
Step 1: Clone!
git clone --recursive https://github.com/faxad/cartify.git
Step 2: Configure Database Provider (Optional)
- You can either setup your own MongoDB instance or register with a Database-as-a-Service provider
- MongoDB DBaaS Providers: mLab, MongoDB Atlas..
Step 3: Configure Backend - API (Optional)
- Create a
.env
file in the project's root directory - Set the required environment variables as per the instructions
Step 4: Configure Frontend - Angular
- The frontend is pre-configured to use APIs hosted on OpenShift which consumes MongoDB cloud services to persists data.
- If you wish to run backend locally, you have to configure the following variables in ./src/environments/environment.ts
apiUrl: 'http://<BACKEND_IP>:<PORT>/', sentryDns: 'https://<SENTRY_DSN>'
- You may have to register with Sentry for error logging, reporting and monitoring
How to run Cartify?
-
Install required node packages
npm install
-
Start the backend server (API)
npm run backend
-
Start the angular application
npm start
Demo Instructions
- Open browser and navigate to http://localhost:4200
- Sign in using the following credentials:
- administrator: admin / pass
- user: user / pass