This repository contains the implementation of a web application feature as part of an assignment. The goal is to utilize the provided template and integrate a comparison feature for selected metrics in two different time periods. Additionally, there is an option to include a date range picker to allow users to customize the time periods for comparison.
-
Metric Comparison Panel: Replaces or edits the existing charts panel in the provided template to display the comparison of selected metrics in two time periods.
-
Date Range Picker: Optionally, a date range picker is included at the top of the panel, enabling users to select periods for comparison.
The assignment utilizes mock data provided within the template. However, modifications or additions to the mock data can be made as needed for the assignment.
The design prototype for the component to be created/integrated can be found in the provided Figma link. Figma Design: Figma, Prototype
- React: Utilized for building the frontend components and managing the UI.
- @refinedev/core: Library used for CRUD operations and data management.
- dayjs: Dependency for date manipulation and formatting.
- recharts: Used for rendering responsive and customizable charts within the application.
- react-icons: Provides access to a library of icons for UI elements.
- react-date-range: Component utilized for implementing the date range picker functionality.
- Modal: Component for displaying modal dialogs in the application.
The assignment has been implemented following best architectural and coding practices. The UI is designed to be bug-free and match the look and feel of the provided design in the Figma link.
-
Dashboard Component: This component serves as the main dashboard interface, displaying the comparison panels and other relevant information.
-
LineChart Component: Handles the rendering of line charts for the selected metrics. It also includes the functionality for the date range picker and options editing.
This repository contains the implementation of a web application feature as part of an assignment. The goal is to utilize the provided template and integrate a comparison feature for selected metrics in two different time periods. Additionally, there is an option to include a date range picker to allow users to customize the time periods for comparison.
-
Metric Comparison Panel: Replaces or edits the existing charts panel in the provided template to display the comparison of selected metrics in two time periods.
-
Date Range Picker: Optionally, a date range picker is included at the top of the panel, enabling users to select periods for comparison.
The assignment utilizes mock data provided within the template. However, modifications or additions to the mock data can be made as needed for the assignment.
The design prototype for the component to be created/integrated can be found in the provided Figma link. Figma Design: Figma, Prototype
- React: Utilized for building the frontend components and managing the UI.
- @refinedev/core: Library used for CRUD operations and data management.
- dayjs: Dependency for date manipulation and formatting.
- recharts: Used for rendering responsive and customizable charts within the application.
- react-icons: Provides access to a library of icons for UI elements.
- react-date-range: Component utilized for implementing the date range picker functionality.
- Modal: Component for displaying modal dialogs in the application.
The assignment has been implemented following best architectural and coding practices. The UI is designed to be bug-free and match the look and feel of the provided design in the Figma link.
-
Dashboard Component: This component serves as the main dashboard interface, displaying the comparison panels and other relevant information.
-
LineChart Component: Handles the rendering of line charts for the selected metrics. It also includes the functionality for the date range picker and options editing.
- Date Picker
- After Date Selected
To run the web application:
- Clone the repository to your local machine.
- Navigate to the project directory.
- Install dependencies using
npm install
oryarn install
. - Start the development server using
npm start
oryarn start
. - Access the application in your web browser at the specified URL.
Please refer to the documentation within the codebase for detailed explanations of implementation decisions, assumptions made, and additional instructions for running and using the web application.
For any further inquiries or assistance, feel free to contact the repository owner.
To run the web application:
- Clone the repository to your local machine.
- Navigate to the project directory.
- Install dependencies using
npm install
oryarn install
. - Start the development server using
npm start
oryarn start
. - Access the application in your web browser at the specified URL.