Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Application to Single Page Application (SPA) #122

Closed
saip007 opened this issue Jun 15, 2023 · 3 comments
Closed

Update Application to Single Page Application (SPA) #122

saip007 opened this issue Jun 15, 2023 · 3 comments

Comments

@saip007
Copy link
Contributor

saip007 commented Jun 15, 2023

As the project evolves, it's crucial to enhance the user experience by transforming the application into a Single Page Application (SPA). Currently, the application relies on traditional page navigation, which can result in longer loading times and a less fluid user interface. By converting it into a SPA, we can improve the overall performance and provide a more seamless browsing experience.

The primary goals of this task are as follows:

Implement a client-side routing mechanism: Integrate a Python-based library or framework (e.g., Flask, Django, or FastAPI) that enables client-side routing. This will allow us to handle navigation within the application without full page reloads.

Refactor the existing codebase: Modify the application's architecture to support the SPA model. This involves breaking down the user interface into modular components that can be dynamically loaded and rendered as needed.

Implement asynchronous data retrieval: Utilize AJAX or similar techniques to retrieve data from the server asynchronously, without requiring full page reloads. This will enable smoother transitions and improve overall performance.

Enhance user experience: Implement visual indicators or loading spinners to provide feedback during data fetching or navigation transitions. This will help users understand that the application is still actively processing their requests.

By transforming our application into a SPA, we can significantly enhance the user experience, reduce loading times, and create a more modern and responsive web application.

Feel free to add any additional ideas, suggestions, or insights to further improve this transition. Let's collaborate and work towards making our application a more efficient and user-friendly SPA!

Please note: This task may require refactoring and modifications to the existing codebase. Let's discuss the implementation strategy and any potential challenges together.

Let me know if you need any further adjustments or information in the issue description!

@di
Copy link
Member

di commented Jun 15, 2023

I'm not sure transitioning to a SPA would be a worthwhile effort for this codebase at this point in time, for a few reasons:

  • while we don't necessarily have performance issues right now, if we did there are other things like Set up CDN #27 which would be higher priority to implement;
  • one of the key features of this application is the ability to deep-link to specific releases/files/lines of code, which we would lose with an SPA.
  • there are many other issues that would be higher priority

As an aside: I don't mean to be rude, but did you perhaps using an LLM like ChatGTP or Bard to write this issue and #121? I ask because it comes off as somewhat vague and missing specific details about this project -- for example, we already use Flask as our web framework, which can be determined with a quick glance at the repo. If you're looking for opportunities to contribute I'm happy to help you do so, but filing issues that don't include any background research into the project might not be the best path towards that.

@saip007
Copy link
Contributor Author

saip007 commented Jun 15, 2023

Hi @di ,
I used chatgpt as I'm new to this, but still everytime navigating between the files is difficult, instead we can having a list of files on page which helps users navigate to other files

@di
Copy link
Member

di commented Jun 15, 2023

No worries. I think #121 probably makes sense, but given the reasons above I don't think transitioning to a SPA isn't going to be worthwhile, so I'm going to close this.

@di di closed this as completed Jun 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants