anmode / grabtern-frontend

Connecting the mentors and creating a network
https://grabtern.in/
MIT License
22 stars 35 forks source link

🚀 [Feature Request] - Remove MUI Usage from All Pages to Improve Build Time #701

Closed Nishitbaria closed 1 year ago

Nishitbaria commented 1 year ago

Is your feature request related to a problem ? Please describe. ✍️

Enhancement Currently, our project utilizes the Material-UI (MUI) library on various pages. While MUI provides a rich set of components and styling options, we've noticed that it contributes to longer build times, which can impact our development efficiency and overall performance.

The extended build times are causing delays in our development workflow and potentially affecting the user experience of our application. To address this, we propose removing the Material-UI usage from all pages where it might not be strictly necessary. By doing so, we can streamline the build process and achieve faster compilation times.

Describe briefly how you would implement this enhancement.

1. **Review Usage**: We need to perform a thorough analysis of our application to identify pages or components where Material-UI is being used but might not be essential for the core functionality.

2. **Replace Components**: For the identified pages, we can replace Material-UI components with simpler HTML, CSS, and SVG alternatives. This will help reduce the external dependencies and associated overhead.

3. **Refactor Styling**: If possible, we should transition away from Material-UI styling mechanisms, such as makeStyles, and rely more on custom styles or other lightweight styling libraries.

4. **Testing**: After making the necessary changes, it's crucial to conduct thorough testing to ensure that the removal of Material-UI does not break any critical features or lead to unexpected UI issues.

**Benefits:**
1. **Faster Builds**: By removing Material-UI from non-essential parts of our application, we can significantly improve the build times, leading to a more responsive development process.

2. **Reduced Bundle Size**: Eliminating unnecessary dependencies will help us reduce the overall bundle size of our application, which can lead to faster loading times for end-users.

3. **Improved Performance**: A leaner codebase can result in better runtime performance and a smoother user experience.

**Considerations:**
1. **Maintain Consistency**: While removing MUI, we should ensure that the UI remains consistent across the application. We may need to standardize some design patterns to achieve this.

2. **Future Development**: For new features or pages, we can consider using MUI only when it brings substantial value, keeping the build time impact in mind.

Additional context or screenshots

No response

Are you contributing for a program?

GSSoC2023

Code of Conduct

github-actions[bot] commented 1 year ago

Hello @Nishitbaria! Thank you for raising this issue. Please make sure to follow our Contributing Guidelines. Don't forget to ⭐ our Grabtern-Frontend.

Our review team will carefully assess the issue and reach out to you soon! We appreciate your patience!

Nishitbaria commented 1 year ago

@anmode ,please assign me this issue ,the pr is ready which removes all mui from all pages