Table of Contents
This application allows user to view their trips on a map, & also view details related to each trip and destination.
Wireframes
Coding Practices
Features:
- Intial Render to default coordinations
- The initial map will be render with preset coordinates display zoomed out map view of US, this is done to keep a defalt map view in place
- Select Trip & Fly
- We have provided a one-click option that will take you to your desired trip on the map, along with relevant notes and timelines from your travel history.
- Dynamic Search for best experience
- Search for trips using the dynamic search feature, which filters out trips based on names that match, as well as error bounds.
- Filter Trips by travel type
- Filter trips by travel type using quick filter option, while handling errors for any missing data validations.
- The data for filter was dynamically imported from a json file.
- Sorting by name and date
- To find trips that suit your needs, sort your travels by name of date in ascending or descending order.
- The data for sort was dynamically imported from a json file,and not hardcoded.
- Dynamic Icon & zoom outs
- The specific list will be highlighted if you click on the map icon; there are also back and front buttons, as well as zoom out.
- Additional features for dynamic trip count & date calculation
- We have gone one step ahead in representing the details in best way possible.
- The trip count indicator represents count of trips displayed & trip start and end date displayed are calculated dynamically using momentjs
Following are the simple steps to run this project.
-
Clone the repo
git clone https://github.com/sraghudatta94/mapStory.git
-
Install NPM packages
cd mapstory && npm install
-
Run
npm start
-
Open
http://localhost:3000 to view it in the browser
-
Run Test cases
npm test
-
Run Story book
yarn storybook
Unit Testing
We are testing our application with edge cases using jest and react testing library.
Story Book
- [MapBox-GL] - Map Configuration
- [Ant-Design] - Styled components
- [typescript] - Static type checking
- [Moment-js] - Dates
- [Eslint] - Error check
- [Story-Book] - Component library
- Fits to Mobile Screen
- Fits to Tab Screen
- Fits to Desktop