Yatrum built with ❤️ using Angular2, ngrx store, observables and reactive forms.
- Yatrum uses @ngrx libraries, showcasing common patterns and best practices.
- Yatrum is a travel diary app for travellers.
- Travellers can create itinerary for their trips.
- This application utilises @ngrx/store to manage the state of the app and to cache requests made to the Backend API, @angular/router to manage navigation between routes, @ngrx/effects to isolate side effects.
We have also created and open sourced AngularSpree: Plug and play frontend application for SPREE E-Commerce API built with ❤️ using Angular2, Redux, Observables & ImmutableJs.
Check it out and join the our team on it's slack channel for discussions related to AngularSpree.
Based on this application we are working on a full blown Angular 2 fundamentals course on udemy. Throughout this course you'll learn how to build yatrum from ground up.
- Architecture, setup, source files
- TypeScript basics
- Getting started with latest angular
- Template fundamentals
- Rendering flows
- Component Architecture and Modules
- Services, Http and Observables
- Template Forms, Inputs and Validation
- Reactive Forms and more magic
- Routing
$ git clone https://github.com/aviabird/yatrum.git
$ cd yatrum
$ npm install
For Social login to work you need to create an app on faceook and google and note down the client id and secret id of individual app. Below are instructions for creating app on inidviudal social media site
- Google : Creating App Engine Project and Application
- Facebook : Creating a New Facebook App
Once you have created the app,rename secret.ts.example
file in app
folder to secret.ts
and replace the dummy string with client id of respective social app.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
By default it connects to our dev api. If you want to setup the server locally clone the api and setup the rails server, However we only suggest that if you are familiar with Ruby on Rails. Please follow the instructions on the project page as the frontend uses the backend API to connect.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve
.
Run ng github-pages:deploy
to deploy to Github Pages.