Skip to content

[FRONTEND]: Implement Progressive Web App (PWA) support #19

@Raymond-engr

Description

@Raymond-engr

Converting the current web application into a Progressive Web App (PWA). This will allow users to install the app on their home screens, access certain features offline, installability on mobile/desktop, and benefit from improved loading speeds through caching.

Goals:
Offline Access: Users can view previously loaded content without an active internet connection.
Performance: Service workers can cache assets, significantly reducing load times on repeat visits.
Mobile Experience: Provides a native-like experience (splash screens, standalone window) without the overhead of a mobile app store.
Lastly ensure the site passes the Lighthouse PWA audit.

Proposed Solution:
I suggest using @ducanh2912/next-pwa (or next-pwa) to integrate Workbox into our Next.js build pipeline. This approach handles the complex service worker lifecycle and asset caching automatically.

Proposed Checklist To achieve "Full PWA" status
[ ] Dependencies: Install @ducanh2912/next-pwa.
[ ] Configuration: Update next.config.mjs to wrap the config with the PWA plugin.
[ ] Manifest: Create a manifest.json in the public/ directory with proper branding (icons, theme colors).
[ ] Metadata: Update the root layout.tsx (App Router) or _document.tsx (Pages Router) with the required viewport and mobile-web-app-capable meta tags.
[ ] Icons: Generate a standard set of responsive icons (192x192, 512x512).
[ ] Validation: Ensure a 100% PWA score on Chrome Lighthouse.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions