GSoC'25 idea: Improve the IHR Website Codebase #47
Replies: 14 comments 19 replies
-
Ya this is a good idea the IHR website, with its extensive codebase, provides a solid foundation. To improve and maintain it effectively, focusing on optimization, refactoring, and enhancing user experience will be the main key using ESLint and Prettier to enforce consistent code formatting across the project. Regularly review and clean up the codebase by removing unused code, reducing redundant functions, and improving variable naming. Optimizing the Performance:- Lazy load large components, especially in views like GlobalReport.vue and NetworkTopology.vue, to enhance the page load time.and Improve Error Handling and Logging by Add more unit and integration tests for components and functions, especially in areas related to core functionality like charts, API data fetching, and rendering. using Jest or Mocha to test JavaScript components. User Experience Improvements-- By focusing on these areas, i think we can maintain a high standard for the IHR website codebase, ensuring it remains efficient, user-friendly, and secure. |
Beta Was this translation helpful? Give feedback.
-
Hi @dpgiakatos! I came across the refactoring project for the IHR website, and I’m really interested in contributing! I’m a third-year B.Tech CSE student, and while I don’t have experience with VueJS, I have built projects using HTML, CSS, and JavaScript. I’m passionate about learning new technologies, and I see this as a great opportunity to improve my skills in maintaining and improving codebases while also learning more about web development. I’m eager to explore refactoring and testing under your guidance and contribute meaningfully to the project. I would also appreciate any suggestions for my proposal so that I can start working on it in the right direction. Looking forward to your response! Regards, |
Beta Was this translation helpful? Give feedback.
-
Hey @dpgiakatos, Documentation updates, including component descriptions and setup instructions, will also be a priority. We can begin by integrating linting tools and gradually work towards these improvements. Also, would you like us to present new ideas, or should we focus on refining and using this existing idea provided in the ideas list in our proposal? Thank you. |
Beta Was this translation helpful? Give feedback.
-
Hey @dpgiakatos , This project sounds really interesting, and I’d love to contribute! Refactoring and improving reusability are crucial for maintaining a clean and efficient codebase, and I’m excited about the opportunity to work on this. I have experience with JavaScript, Vue.js, HTML, and CSS, MERN and I enjoy optimizing code for better readability and performance. Looking forward to collaborating with the team, learning from others, and helping improve the IHR website. Let me know how I can get started! |
Beta Was this translation helpful? Give feedback.
-
Hi @dpgiakatos, project sounds interesting! It would be helpful if you could share more details on the following:
Understanding these would provide a better understanding of the use case and the overall project goals. |
Beta Was this translation helpful? Give feedback.
-
Hello, I am very interested in this project. I studied the IHR website code base and found some duplicate logic that may affect reusability and maintainability. Here are some of my observations and suggestions, I hope it can be helpful. |
Beta Was this translation helpful? Give feedback.
-
Hi all, |
Beta Was this translation helpful? Give feedback.
-
Hey @dpgiakatos I am implementing the individual tables for the CountryInternetExchangePoints.vue and HostNameQueryingASes.vue as CountryInternetExchangePointsTable.vue and HostNameQueryingASesTable.vue |
Beta Was this translation helpful? Give feedback.
-
Hey @dpgiakatos I have made a implementation for the CountryInterenetExchangePoints and i have attached the file with this rather than adding it to the issue so that you can review that once whether this is something this project needs as a rerfactor I have given CountryInterentExchangePoints as its self containing table i have one more question around the refactor are we looking to remove only IypGenricTable or we are also looking to add IypGenericTreemapChart inside the widgets and removing that as what do you about an approach that maintains some level of reusability through smaller, more focused components, while still giving each widget control over its specific implementation? I am trying to evaluate everything for better changes |
Beta Was this translation helpful? Give feedback.
-
Dear @dpgiakatos, I recently came across the IHR website refactoring project and would love to contribute! As a second-year B.Tech CSE student with experience in full-stack development—including HTML, CSS, JavaScript, and the MERN stack—I am eager to apply my skills while learning from this opportunity. Having completed my React.js learning and gained a solid understanding of Vue.js, I am excited to take on this challenge. This would be my second project using Vue.js and my sixth with React.js. My strong interest in refactoring and testing aligns well with this project, and I am confident that my contributions can enhance both the performance and maintainability of the codebase. By working on this project, I will not only refine my technical skills but also gain hands-on experience in writing cleaner, more efficient, and scalable code. Additionally, contributing to this initiative will allow me to collaborate with like-minded developers, further improving my problem-solving and teamwork abilities. If you have any suggestions for my proposal, I would greatly appreciate your insights to ensure I move in the right direction. I am excited about the opportunity to make a meaningful impact and look forward to your guidance. Looking forward to your response! Best regards, |
Beta Was this translation helpful? Give feedback.
-
Hi all, this is not a place for introductions, but a place for questions related to this project. Thank you. |
Beta Was this translation helpful? Give feedback.
-
Hey @dpgiakatos I’ve gone through the IHR website’s codebase and noticed that the current table implementation is being restructured so that each widget has its own table component instead of a generic one. Before I finalize my approach, I wanted to clarify: Are there any specific widgets that must retain a shared structure, or should all of them have independent table implementations? Apart from the table refactoring, are there any other high-priority components you'd like contributors to focus on? I want to ensure my proposal aligns well with the project’s needs. Looking forward to your insights! Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hello, here is a clarification about the widgets' table refactoring: We do not want to completely remove the |
Beta Was this translation helpful? Give feedback.
-
The IHR website provides outputs from IHR research projects through a simple and user-friendly web interface. Its current codebase is large and contains many features. This time, instead of adding new features, we will focus on improving the existing ones. The goal of this project is to refactor certain components to enhance reusability.
Expected Results:
Knowledge Prerequisites:
Resources:
Beta Was this translation helpful? Give feedback.
All reactions