{"repo":"thisistonydang/liveview-svelte-pwa","free":true,"listed":false,"github":"https://github.com/thisistonydang/liveview-svelte-pwa","clone":"git clone https://github.com/thisistonydang/liveview-svelte-pwa.git","description":"Local-First LiveView Svelte ToDo App","language":"Elixir","stars":298,"topics":["liveview","phoenix","real-time","svelte","elixir","pwa","pubsub","websocket","local-first"],"license":"MIT","category":"networking-infra","readme_excerpt":"Local-First LiveView Svelte ToDo App This to-do app is a demo of an installable Phoenix Progressive Web App (PWA) that can sync real-time across multiple devices while also being able to work locally offline. https://github.com/tonydangblog/liveview-svelte-pwa/assets/63323230/726487b0-926d-4f5d-b54a-e93dcdd9dc6a Detailed Video Walkthrough Live Demo A live demo of the app can be found here. Running Locally You can run this app locally by following the steps below after cloning the repo. 1. Install the Phoenix dependencies. 2. Install the Node.js dependencies. The --prefix assets is required when running the command from the root directory in order to install the dependencies in the assets directory. 3. Create the database. 4. Start the Phoenix server. Deploying the Project To deploy this app to Fly.io, run the following commands. Note: You will need to have an account with Fly and flyctl installed. 1. Remove the fly.toml file. A new one will be created when you run fly launch . 2. Initialize and deploy the project. Fly will automatically detect the app type and set up the necessary configuration. You can tweak the settings or stick with the defaults, but make sure that a Postgres database is included in the configuration settings. Technologies Used - Phoenix LiveView, PubSub, and Ecto/PostgreSQL for real-time syncing and data persistence. - Svelte (via LiveSvelte) for the frontend UI and state management. - Service Workers, Web Storage, and IndexedDB (via y-indexeddb) for offl","default_branch":null,"files":null,"tree":[],"storefront":"/r/thisistonydang","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/thisistonydang/liveview-svelte-pwa/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}