Skip to content

fjsnogueira/ionic2-conference-app

 
 

Repository files navigation

#Ionic Conference App + NgRx and JWT authentication

Build Status Commitizen friendly PRs Welcome

This project is an "extended" version of the Ionic Conference Application utilizing ngrx state management and consuming REST API exposed by backend API component.

The API component for this application can be found here.

Api component live demo/documentation: https://ion-conf-api.damiendev.com

The main goal for this project is to provide a simple way to add jwt authentication utilizing ngrx libraries within a ionic 2 application.

Check out the Comprehensive Introduction to @ngrx/store for an overview.

Furthermore a lot of changes has been made in "providers" (app/core folder), in order to mainly use RxJs instead of Promises.

If you are looking for a great Ionic 2 boilerplate, take a look here.

Note: This project is under development.

Features

Install

Make sure you have Node version >= 5.0 and NPM >= 3

NOTE: better-npm-run is used to manage environment variables from a .env file. Place in root project a .env file and "overwrite" the default values. In development env, you can set the env variables by doing:

cp .env.dev.example .env

and replace the values there.

# clone the repo
git clone https://github.com/ddellamico/ionic2-conference-app.git

# change directory to our repo
cd ionic2-conference-app

# install the repo with npm
npm install && ionic state restore

# start the server
npm run dev

go to http://0.0.0.0:8100 or http://localhost:8100 in your browser

Commands:

  $ npm run dev             --> run ionic serve
  $ npm run build           --> full production build. Use `--dev` flag for dev build
  $ npm run release         --> generate changelog based on commits
  $ npm run push            --> shortcut for git push origin master --follow-tags
  $ npm run lint            --> lint with tslint
  $ npm run outdated        --> search npm packages for outdated dependencies
  $ npm run ios:dev         --> start ios simulator (ionic run ios)
  $ npm run ios:release     --> build files for ios platform and generate xcodeproj (ionic build ios)
  $ npm run android:dev     --> start android simulator (ionic run android)
  $ npm run android:release --> build files for android platform and generate apk (ionic build android)

Commit:

Follows AngularJS's commit message convention

# Lint and execute tests before committing code.
npm run commit
# OR
# use git commit directly with correct message convention.
git commit -m "chore(ghooks): Add pre-commit and commit-msg ghook"

Tests

$ npm test

This post help me a lot to setup test environment with karma : http://lathonez.github.io/2016/ionic-2-unit-testing/ Thanks Lathonez !

NOTE: With rc0, Ionic start using rollupjs and to be honest, make test environment working is quite painful. So, before reintroducing test, I would prefer waiting until ionic will be run test out of the box (probably using ng-cli)

Changelog

You can check the changelog here

License

MIT

About

Ionic Conference App with JWT authentication

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 88.7%
  • CSS 4.7%
  • HTML 4.1%
  • JavaScript 2.5%