Integrating Back-end
How to integrate back-end in this template
Data Structure
In  environment.ts, there is data file placed to mimic the behavior of a back-end. 
E.g. Following images shows the data and its structure for songs on the home page. The data is in JSON format.

Services
- Location Service - Located in - app/services/location.service.tsThis service caters to all functions related to- Finding geolocation 
- Geocoding 
- Reverse-geocoding 
- Handling pickup and drop-off address 
- Location permission in Android 
- Auto turn-on GPS in Android 
 
- Util Service - Located in - app/services/util.service.tsThis service takes care of utility functions like- Create a modal 
- Create a toast 
- Create an alert 
- Create loader 
- Create ActionSheet 
 
- Data Service - Located in - app/services/data.service.tsThis service keeps the in-app variables which are common through multiple pages.
Back-end options
To make the app fully operational you will need to attach a back-end to the app. This will require several additions and you will need the assistance of a back-end developer.
We will provide a glimpse into the things you will require
Step 1 — Choose a back-end Technology
There are several options when it comes to back-end. Some of the major ones are
- Node.js custom back-end 
- Firebase back-end (node.js) (Read intro blog here) 
- Django custom back-end 
- Ruby-on-rails custom back-end 
- GO back-end 
We recommend starting out with Firebase, if you want quick turn-around of features. Firebase is a BaaS platform and comes with a bunch of ready-made functionality, like
- Storage 
- Database 
- Analytics 
- In-app messages 
Step 2 — Connect the back-end to the app
As explained in the section above, you will need to replace the Data coming in form individual JSON files with the data coming in from APIs (from your back-end).
To manage the data efficiently, you will need to arrange all API calls, and data manipulation in a single location. You can manage API calls with HttpClient services or firebase functions.
Last updated
Was this helpful?
