My own Full MEAN stack Starter kit with Ionic Framework and ReactiveX API (ngrx/Store + ngrx/Effects) & GraphQL/REST Server API and many more...
MEAN Ionic NgRx is a TypeScript Full Stack Starter with MongoDB + ExpressJS + Angular + NodeJS + Ionicframework and many more tools.
It's a simple todo application exemple with REST server-side for Users authentification with JWT + GraphQL server-side for request all others datas. Front side is building with Angular and Ionicframework and using ReactiveX API (ngrx/Store + ngrx/Effects) to provide a better and simply datas management + ngx-translate to internationalize languages + using Apollo Client provider to work with GraphQL server-side + Angular HttpClientModule to work with REST server-side.
Hop is help you to start your project on the right way.
$ nvm install node 7
.$ npm install -g typescript
$ npm install -g ionic cordova
$ npm install -g typedoc
$ npm install -g karma-cli
$ npm install -g protractor && webdriver-manager update
$ npm install -g gulp
$ nvm use 7
$ npm install
$ npm run dev
to start Front-End+Back-End in development mode$ npm run prod
to start Front-End in production mode (you have to config your production environments variable)http://localhost:8100
Tips:
$ npm run helper.cmd
to display all package.json
script available with definitionkillall mongod
or killall node
to kill all processFirst add selected platform: $ ionic cordova platform add browser|ios|android
(one by one). Then you can build each platform with ionic CLI $ ionic build browser|ios|android --prod
And we have the following npm run script ready to use:
$ npm run build:browser
to build app browser version with development environment variables$ npm run build:browser --prod
to build app browser version in Angular Prod mode with production environment variablesIf you want, you can add your own build run script.
$ npm run deploy:server
to deploy server side on heroku$ npm run deploy:client
to deploy client side on GitHub gh-pages$ npm run docs
./docs/index.html
to read documentationhttp://localhost:8080/graphql
http://YOUR_HOST/graphql
(or https)http://localhost:8080/graphiql
http://localhost:8080/rest
http://YOUR_HOST/rest
(or https)TODOS Endpoints
path: http://localhost:8080/rest/todos
autenticate: false
methode: $_GET / $_POST
path: http://localhost:8080/rest/todos/:id
autenticate: false
methode: $_GET / $_POST / $_DELETE
AUTH Endpoints
path: http://localhost:8080/rest/auth
autenticate: false
methode: $_POST
path: http://localhost:8080/rest/isauth
autenticate: false/true
methode: $_GET
path: http://localhost:8080/rest/signup
autenticate: false
methode: $_POST
USERS Endpoints
path: http://localhost:8080/rest/users
autenticate: true
methode: $_GET
path: http://localhost:8080/rest/users/:id
autenticate: true
methode: $_GET
App Documentations is generate by typeDoc. Use the following cmd to generate documentation
$ npm run docs
will generate Angular Application documentation and open the index doc in browser.Important: You have to update/change/replace mongod
npm script into main ./package.json
line 18 . Update mongod $path with your own path (or run $npm run mongod
to check if mongo starting correctly).
To using in production mode:
git checkout master
$ heroku create
$ git remote -v
$ git checkout <WORKING_BRANCH>
./environments/production.ts
Heroku docs:
Feel free to contrib to my stack.
$ git checkout -b YOUR_BRANCH
dev
branch / or submit small fix on the master
branch.Hi, i'm a Front-end developper living in Geneva Switzerland and i build hybrid mobile & web applications for almost 15 years. You can follow me on Twitter @FazioNico or checkout my own website https://nicolasfazio.ch
Generated using TypeDoc