{"id":15180637,"url":"https://github.com/svvitale/django-progressive-web-app","last_synced_at":"2025-10-01T21:31:09.556Z","repository":{"id":57421414,"uuid":"80970862","full_name":"svvitale/django-progressive-web-app","owner":"svvitale","description":"Looks like an app, feels like an app, but NOT an app.","archived":true,"fork":false,"pushed_at":"2018-12-19T22:38:25.000Z","size":101,"stargazers_count":90,"open_issues_count":6,"forks_count":18,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-01-15T13:28:40.236Z","etag":null,"topics":["django","django-application","progressive-web-app","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svvitale.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-05T05:22:15.000Z","updated_at":"2024-06-02T11:07:45.000Z","dependencies_parsed_at":"2022-09-10T21:33:19.796Z","dependency_job_id":null,"html_url":"https://github.com/svvitale/django-progressive-web-app","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svvitale%2Fdjango-progressive-web-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svvitale%2Fdjango-progressive-web-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svvitale%2Fdjango-progressive-web-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svvitale%2Fdjango-progressive-web-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svvitale","download_url":"https://codeload.github.com/svvitale/django-progressive-web-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234902725,"owners_count":18904521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-application","progressive-web-app","python"],"created_at":"2024-09-27T16:23:43.192Z","updated_at":"2025-10-01T21:31:04.304Z","avatar_url":"https://github.com/svvitale.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**DEPRECATED: [@silviolleite](https://github.com/silviolleite/) has been kind enough to build on this initial implementation and add some excellent functionality.  You can find his supported implementation of this project here: https://github.com/silviolleite/django-pwa**\n\nSilvio has also published it to PyPI: https://pypi.org/project/django-pwa/\n\ndjango-progressive-web-app\n=====\nThis Django app turns your project into a [progressive web app](https://developers.google.com/web/progressive-web-apps/).  Navigating to your site on an Android phone will prompt you to add the app to your home screen.\n\n![Prompt for install](https://github.com/svvitale/django-progressive-web-app/raw/master/images/screenshot1.png)\n\nLaunching the app from your home screen will display your app [without browser chrome](https://github.com/svvitale/django-progressive-web-app/raw/master/images/screenshot2.png).  As such, it's critical that your application provides all navigation within the HTML (no reliance on the browser back or forward button).\n\nRequirements\n=====\nProgressive Web Apps require HTTPS unless being served from localhost.  If you're not already using HTTPS on your site, check out [Let's Encrypt](https://letsencrypt.org/) and [ZeroSSL](https://zerossl.com/).\n\nInstallation\n=====\nInstall from PyPI:\n\n```\npip install django-progressive-web-app\n```\n\nConfiguration\n=====\nAdd `pwa` to your list of `INSTALLED_APPS` in settings.py:\n\n```python\nINSTALLED_APPS = [\n    ...\n    'pwa',\n    ...\n]\n```\n\nConfigure your app name, description, and icons in settings.py:\n```python\nPWA_APP_NAME = 'My Kickass App'\nPWA_APP_DESCRIPTION = \"Do kickass things all day long without that pesky browser chrome\"\nPWA_APP_THEME_COLOR = '#0A0302'\nPWA_APP_BACKGROUND_COLOR = '#ffffff'\nPWA_APP_DISPLAY = 'standalone'\nPWA_APP_START_URL = '/'\nPWA_APP_ICONS = [\n    {\n        'src': '/static/images/my_app_icon.png',\n        'sizes': '160x160'\n    }\n]\n```\n\nAll settings are optional, and the app will work fine with its internal defaults.  Highly recommend setting at least `PWA_APP_NAME` and `PWA_APP_DESCRIPTION`.\n\nAdd the progressive web app URLs to urls.py:\n```python\nfrom django.conf.urls import url, include\n\nurlpatterns = [\n    ...\n    url('', include('pwa.urls')),  # You MUST use an empty string as the URL prefix\n    ...\n]\n```\n\nInject the required meta tags in your base.html (or wherever your HTML \u0026lt;head\u0026gt; is defined):\n```html\n{% load pwa %}\n\n\u003chead\u003e\n    ...\n    {% progressive_web_app_meta %}\n    ...\n\u003c/head\u003e\n```\n\nTroubleshooting\n=====\nWhile running the Django test server:\n\n1. Verify that `/manifest.json` is being served\n1. Verify that `/serviceworker.js` is being served\n1. Use the Application tab in the Chrome Developer Tools to verify the progressive web app is configured correctly.\n1. Use the \"Add to homescreen\" link on the Application Tab to verify you can add the app successfully.\n\nAdding Your Own Service Worker\n=====\nBy default, the service worker implemented by this app is empty.  To add service worker functionality, you'll want to create a `serviceworker.js` or similarly named file, and then point at it using the PWA_SERVICE_WORKER_PATH variable.\n\n```python\nPWA_SERVICE_WORKER_PATH = os.path.join(BASE_DIR, 'my_app', 'serviceworker.js')\n\n```\n\nFeedback\n=====\nI welcome your feedback and pull requests.  Enjoy!\n\nLicense\n=====\nAll files in this repository are distributed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvvitale%2Fdjango-progressive-web-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvvitale%2Fdjango-progressive-web-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvvitale%2Fdjango-progressive-web-app/lists"}