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
- Service Oriented Design
- Reactive Components
- Modularized
- Material Design
- Flexbox Layout
- Error Logging & Reporting using Sentry
- Automated Tests using Jasmine, Karma, PhantomJS, Istanbul
- 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
git clone --recursive https://github.com/faxad/cartify.git
- You can either setup your own MongoDB instance or register with a Database-as-a-Service provider
- MongoDB DBaaS Providers: mLab, MongoDB Atlas..
- Create a
.env
file in the project's root directory - Set the required environment variables as per the instructions
- 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
-
Install required node packages
npm install
-
Start the backend server (API)
npm run backend
-
Start the angular application
npm start
- Open browser and navigate to http://localhost:4200
- Sign in using the following credentials:
- administrator: admin / pass
- user: user / pass