Solution to the problem statement shared over email
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
MySQL Latest
NodeJS 11
Frontend
1. Angular 7
2. Observable Store for State Management
3. Angular Material
Maps API
Google Geocoding API
Server
1. Node JS
2. Express
Database
MySQL
1. Navigate to project to folder and execute `npm i`
2. Navigate to project_folder/public/ and execute `npm i` this will install Angular dependencies.
1. Navigate to `./config` and edit the config.js file
`
database : {
host : '127.0.0.1 / You can change if there's any other',
user: '<YOUR DB USER>',
password: '<YOUR DB PASSWORD>',
port: '<PORT ON WHICH DB IS RUNNING>',
database: 'LimeMaster (Don't Change)'
}`
2. Import SQL_DUMP.sql into your local MYSQL DB. [HELP](https://dba.stackexchange.com/questions/24371/how-to-import-a-sql-file-in-mysql)
Execute `npm run start` in the project folder.
The application will be served at http://localhost:3000
Download the Postman Collection from this location to run it in your local to get the API tests pre-loaded
https://www.getpostman.com/collections/dd8cfa16a296a202c808
Suggest you to use 8 as a user id like http://localhost:3000/users/8/bookings to get all the bookings for the user with userid 8.
1. Provide user location access from the browser.
1. Search box automatically call the MAPS API after 3000ms after user input is completed.
2. Type `Berlin` in the search box to see nearby properties and identify parts nearby user location
3. Click book and use the above API's to see the booking.
1. The user is hard-coded to 8 as the application doesn't implements session cookies. So, all bookings are done for the user 8 i.e. Kenna Donnelly.
1. Drop mail to owner of the project.