All Projects → Crizstian → book-store

Crizstian / book-store

Licence: other
Example of a book store management with MEAN STACK

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to book-store

edgestack
[UNMAINTAINED] A Universal React Stack with deeply integrated localization Support, semi-automatic route-based code splitting, Hot Module Reloading (HMR), Redux, Apollo GraphQL and more...
Stars: ✭ 77 (+234.78%)
Mutual labels:  expressjs, webpack2
summary1
个人总结 持续更新 欢迎提出各种issues
Stars: ✭ 13 (-43.48%)
Mutual labels:  http2, webpack2
Angular2 Express Starter
Angular 8 and Express 👪 ( Heroku ready )
Stars: ✭ 565 (+2356.52%)
Mutual labels:  expressjs, angular-cli
Dejajs Components
Angular components
Stars: ✭ 37 (+60.87%)
Mutual labels:  webpack2, angular-2
ng2-forms
Demo app for angular reactive nested forms
Stars: ✭ 25 (+8.7%)
Mutual labels:  angular-2, angular-cli
i18n-demo
A simple i18n demo app with Angular and expressjs
Stars: ✭ 12 (-47.83%)
Mutual labels:  expressjs, angular-cli
Angular Full Stack
Angular Full Stack project built using Angular, Express, Mongoose and Node. Whole stack in TypeScript.
Stars: ✭ 1,261 (+5382.61%)
Mutual labels:  expressjs, angular-cli
Clever Bootstrap 4 Admin Template With Angularjs Angular 2 Support
Clever is Boostrap 4 Admin Template with Angular 2 and AngularJS support
Stars: ✭ 98 (+326.09%)
Mutual labels:  angular-2, angular-cli
Redux Webpack Es6 Boilerplate
A starter project for modern React apps with Redux
Stars: ✭ 566 (+2360.87%)
Mutual labels:  tdd, webpack2
Summary
个人总结 持续更新 欢迎提出各种issues
Stars: ✭ 12 (-47.83%)
Mutual labels:  http2, webpack2
Rwa Trivia
Trivia App - Real World Angular series
Stars: ✭ 251 (+991.3%)
Mutual labels:  angular-2, angular-cli
laravel5Angular4
Laravel 5.4 & Angular 4.3.4
Stars: ✭ 37 (+60.87%)
Mutual labels:  angular-2, angular-cli
Angularfire2 Offline
🔌 A simple wrapper for AngularFire2 to read and write to Firebase while offline, even after a complete refresh.
Stars: ✭ 209 (+808.7%)
Mutual labels:  angular-2, angular-cli
ThinkApp
Test your knowledge with any of the available topic this fun and free Champion Quiz Master App. Save your time and effort by saving your queries & its resolutions
Stars: ✭ 15 (-34.78%)
Mutual labels:  expressjs, angular-cli
Angular Redux
Angular 4 and Redux simplified + Live Demo
Stars: ✭ 109 (+373.91%)
Mutual labels:  angular-2, angular-cli
Webpack2 Express Heroku Starter
Starter app using Webpack 2, Express, setup to deploy to Heroku.
Stars: ✭ 12 (-47.83%)
Mutual labels:  expressjs, webpack2
Burrowui
This is a NodeJS/Angular 2 frontend UI for Kafka cluster monitoring with Burrow
Stars: ✭ 69 (+200%)
Mutual labels:  angular-2, angular-cli
Coreui Free Angular Admin Template
CoreUI Angular is free Angular 2+ admin template based on Bootstrap 4
Stars: ✭ 1,279 (+5460.87%)
Mutual labels:  angular-2, angular-cli
kwerri-oss
Kwerri OSS: samvloeberghs.be + jsonld + seo service + scully-plugin-minify-html + scully-plugin-disable-angular
Stars: ✭ 60 (+160.87%)
Mutual labels:  http2, angular-cli
commerce
🛒 e-commerce-platform
Stars: ✭ 54 (+134.78%)
Mutual labels:  expressjs, webpack2

Book Store Management MEAN Stack example

  • A book store management with CRUD operations calls to an API Service
  • MongoDB database interactions
  • http/2 server enabled
  • User authentication enabled
  • Responsive web design

Preview

Stack

  • NodeJS 7.7.0 (installed - required)
  • MongoDB 3.4.2
  • Angular 2.4 with CLI
  • Docker 1.13.1 (installed - required)

Installation

OS X & Linux:

$ bash < kraken.sh

Windows:

change linux commands from the kraken.sh file to be able to automate the process

Usage of the system with docker

!IMPORTANT

before starting to deploy our services either in production mode or development mode, we must check and verify the api url, from the angular api.service.ts to be the same ip that the docker-machine-ip

Get the docker-machine ip

First of all we need to know what is the ip of our docker-machine to get the ip we need to execute the following command:

$ docker-machine ip dimtec


Description of usage

Web App:

To use the web app we need to visit the following url: https://{{docker-machine-ip}}:8080 in a chrome browser for better experience, the browser will ask us if we want to trust the certificate and we need trust it, this happens because we are using self-signed certificates.

In the section where an image is uploaded it uses a fake cdn server to simulate how the image is going to be uploaded and when its uploaded, returns the fake image url, and we update our book object to store the book information on the database.

Book Service API

The web app will make use of the API calling the following url: https://{{docker-machine-ip}}:3000 and here the will the dispatch all the requests need it for, searching, creating, editing, deleting a book, as well as the author.

MongoDB Database

To make use of the database the book service api calls the following ip server: {{docker-machine-ip}}:27017 but to be able to perform the database operations we need to be authenticated.


Usage of the system without docker

Development setup

Angular app

To run the angular app we need to position it in the client folder and run the following command:

$ npm start

This will run the angular-cli command ng serve that will deploy the angular app in a webpack integrated server for testing at the url http://localhost:4200.

Server API

To start the server api, we need to be position it at the server folder and run the command:

$ npm start

this will start the api service at the following url: http://localhost:3000

Database

The database will be configured automatically with the script located at the database folder and will be listening at the following url: {{docker-machine-ip}}:27017


Preview

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].