Yatrum - Share and Discover Travel Stories, Itineraries, Travel Guides built with ♥️ using Angular 2+

Yatrum App Logo

Yatrum App Logo

Yatrum built with ❤️ using Angular2, ngrx store, observables and reactive forms.

Visit Website

PRs Welcome Pivotal Project page

What’s included?

  • 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.

Angular Fundamentals Course

Angular 2 Fundamentals Course

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.

Course curriculum

  • 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

Subscribe to this course here

Setting up

Clone the repoo
$ git clone https://github.com/aviabird/yatrum.git
$ cd yatrum
Install npm dependencies
$ npm install
Additional Settings

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

  1. Google : Creating App Engine Project and Application
  2. 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.

Development server frontend

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.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

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.

Deploying to Github Pages

Run ng github-pages:deploy to deploy to Github Pages.


MIT License