{"id":22031369,"url":"https://github.com/ed-asriyan/simplex-directory-frontend","last_synced_at":"2025-05-07T12:23:06.000Z","repository":{"id":257303478,"uuid":"857753879","full_name":"ed-asriyan/simplex-directory-frontend","owner":"ed-asriyan","description":"https://simplex-directory.asriyan.me","archived":false,"fork":false,"pushed_at":"2025-05-01T01:14:52.000Z","size":196,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-01T02:27:09.441Z","etag":null,"topics":["simplex","smp"],"latest_commit_sha":null,"homepage":"https://simplex-directory.asriyan.me","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ed-asriyan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-15T14:24:01.000Z","updated_at":"2025-05-01T01:14:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"62456093-0e47-4641-bf57-18802a5de999","html_url":"https://github.com/ed-asriyan/simplex-directory-frontend","commit_stats":null,"previous_names":["ed-asriyan/simplex-servers-registry-frontend","ed-asriyan/simplex-directory-frontend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ed-asriyan%2Fsimplex-directory-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ed-asriyan%2Fsimplex-directory-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ed-asriyan%2Fsimplex-directory-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ed-asriyan%2Fsimplex-directory-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ed-asriyan","download_url":"https://codeload.github.com/ed-asriyan/simplex-directory-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252874564,"owners_count":21817854,"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":["simplex","smp"],"created_at":"2024-11-30T08:16:39.509Z","updated_at":"2025-05-07T12:23:05.960Z","avatar_url":"https://github.com/ed-asriyan.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimpleX Unofficial Directory Frontend [![CD](https://github.com/ed-asriyan/simplex-directory-frontend/actions/workflows/CD.yml/badge.svg)](https://github.com/ed-asriyan/simplex-directory-frontend/actions/workflows/CD.yml)\nWeb application built on Svelte.js and Supabase for https://simplex-directory.asriyan.me\n\n# Architecture\nThis repository is one of components. The entire project works on the following:\n* **Supabase** project that stores list of all added SimpleX servers and availability statuses. Code: [simplex-directory-supabase](https://github.com/ed-asriyan/simplex-directory-supabase)\n* **GitHub Actions Worker** running the app what validates SMP servers and updates date in Supabase. Code: [simplex-directory-servers-validator](https://github.com/ed-asriyan/simplex-directory-servers-validator)\n* **Cloudlare** serving SPA app. Code is this repository\n\n```mermaid\nsequenceDiagram\n    participant SMP as SMP or XFTP server\n    participant GitHubActions as GitHub Actions Worker\n    participant Supabase\n    participant Cloudlare as Cloudflare pages\n    participant Browser\n    actor User\n\n    rect rgb(233, 255, 255)\n        note left of Supabase: Every 12 hours\n        GitHubActions -\u003e\u003e Supabase: Get list of servers\n        Supabase -\u003e\u003e GitHubActions: List of all servers\n\n        loop for each server\n            GitHubActions -\u003e\u003e SMP: Opens connection\n            alt server is available\n                SMP -\u003e\u003e GitHubActions: Response\n            end\n        end\n    end\n\n    rect rgb(233, 255, 255)\n        note left of User: User opens webapp\n        User --\u003e\u003e Browser: Opens website\n        Browser -\u003e\u003e Cloudlare: Request SPA\n        Cloudlare -\u003e\u003e Browser: JS/HTML/CSS\n        Browser -\u003e\u003e Supabase: Filter for list of servers\n        Supabase -\u003e\u003e Browser: List of servers\n        Browser --\u003e\u003e User: Displays SPA\n    end\n```\n\n# Setup\n## Init\n1. Setup [simplex-directory-supabase](https://github.com/ed-asriyan/simplex-directory-supabase) locally or in cloud. This is backend service for the frontend app\n2. *(optional)* Setup [Google Analytics](https://analytics.google.com)\n3. *(optional)* Setup [Sentry](https://sentry.io) account and create Svelte project\n4. Create `ENV_FILE_CONTENT` repository variable and copy content of filled by you [.env](.env) file in it\n\n## Local development\n1. Install docker\n2. Install dependencies:\n   ```console\n   make dev_install\n   ```\n\nNow you can run the dev server locally:\n```console\nmake dev_serve\n```\n\n## Generate prod bundle\n```console\nmake prod_build_bundle\n```\n\n## GitHub Actions\n* Each push to `master` triggers deployment to production\n* Make sure that `ENV_FILE_CONTENT` repository variable is filled\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fed-asriyan%2Fsimplex-directory-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fed-asriyan%2Fsimplex-directory-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fed-asriyan%2Fsimplex-directory-frontend/lists"}