Hello everyone,
as some of you might know Wandelgut has received funding via DigitalHub.SH for developing the Foodcoops app. One of the main milestones is to improve to usability of the application. We see three approaches, you can find them below along with their advantages and disadvantages. We think that these options are in line with the previous discussions.
Option A: Complete Overhaul with JS Framework
- Description: Rebuild the entire application using a JavaScript framework.
- Advantages:
- Clear separation between frontend and backend.
- Complete redesign of the application.
- Disadvantages:
- Significant amount of work required to recreate views and API endpoints.
- The available budget may not cover the transition of the entire existing frontend.
- High risk of project failure.
Option B: Update Existing Views to Bootstrap 5
- Description: Update all existing views to Bootstrap 5 while improving user experience (UX). Consider using āTurboā for faster loading times. Additional API endpoints can also be added as a separate work package.
- Advantages:
- Easier implementation, allowing more time for detailed UI/UX improvements.
- Disadvantages:
- May feel āless modern.ā
- A large number of views will need to be revised.
- Potential for inconsistent UX if some processes are updated while others are not.
- It may take a long time before any changes are available to users.
Option C: Maintain Old App and Build New Frontend
- Description: Keep the old application, possibly updating it to Bootstrap 5, while simultaneously developing a new frontend focused on specific user groups (e.g., end users, finance team, order team).
- C1: Implementation with Rails + Turbo + HTML + CSS
- Advantages: Utilizes only one technology.
- Disadvantages: May result in a slower application.
- C2: Implementation with React/Vue as a single-page application
- Advantages: More app-like experience, faster performance, and access to numerous libraries/components.
- Disadvantages: More complex project requiring knowledge of both Rails and JavaScript; increased workload.
- C1: Implementation with Rails + Turbo + HTML + CSS
- Overall Advantages:
- Focus on a smaller scope for the frontend rewrite, allowing for a high-quality implementation.
- Iterative development enables relatively early releases.
- Easier for the community to contribute.
- Overall Disadvantages:
- Distinction between views needed for different user groups (e.g., āend usersā vs āadminsā) may not always be clear.
- Two applications will need to be hosted.
We would prefer option C, but are not sure whether option C1 or C2 (probably with React) is the way to go. If we go with C2 are there enough active developers in the community that know their way around with Javascript frameworks?
What features resp. user groups do you think we should focus on first? It could make sense to focus on end user (average Foodcoop member) features as those features can work well as a stand-alone solution and more people would gain from it. On the other hand the UX/UI for admin features could definitely need improvement, though used by less people.
We invite your thoughts and feedback on these options. Which approach do you think would work best?
As we (the contracted developers) want and need to keep the work inside the timeframe, we would like to decide how to proceed until the next foodsoft community call on the June 26th.
Looking forward to your insights!
Veronika, Henning, Steffen