https://github.com/ed-asriyan/simplex-directory-frontend
https://simplex-directory.asriyan.me
https://github.com/ed-asriyan/simplex-directory-frontend
simplex smp
Last synced: 5 months ago
JSON representation
https://simplex-directory.asriyan.me
- Host: GitHub
- URL: https://github.com/ed-asriyan/simplex-directory-frontend
- Owner: ed-asriyan
- Created: 2024-09-15T14:24:01.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-01T01:14:52.000Z (5 months ago)
- Last Synced: 2025-05-01T02:27:09.441Z (5 months ago)
- Topics: simplex, smp
- Language: Svelte
- Homepage: https://simplex-directory.asriyan.me
- Size: 191 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SimpleX Unofficial Directory Frontend [](https://github.com/ed-asriyan/simplex-directory-frontend/actions/workflows/CD.yml)
Web application built on Svelte.js and Supabase for https://simplex-directory.asriyan.me# Architecture
This repository is one of components. The entire project works on the following:
* **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)
* **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)
* **Cloudlare** serving SPA app. Code is this repository```mermaid
sequenceDiagram
participant SMP as SMP or XFTP server
participant GitHubActions as GitHub Actions Worker
participant Supabase
participant Cloudlare as Cloudflare pages
participant Browser
actor Userrect rgb(233, 255, 255)
note left of Supabase: Every 12 hours
GitHubActions ->> Supabase: Get list of servers
Supabase ->> GitHubActions: List of all serversloop for each server
GitHubActions ->> SMP: Opens connection
alt server is available
SMP ->> GitHubActions: Response
end
end
endrect rgb(233, 255, 255)
note left of User: User opens webapp
User -->> Browser: Opens website
Browser ->> Cloudlare: Request SPA
Cloudlare ->> Browser: JS/HTML/CSS
Browser ->> Supabase: Filter for list of servers
Supabase ->> Browser: List of servers
Browser -->> User: Displays SPA
end
```# Setup
## Init
1. Setup [simplex-directory-supabase](https://github.com/ed-asriyan/simplex-directory-supabase) locally or in cloud. This is backend service for the frontend app
2. *(optional)* Setup [Google Analytics](https://analytics.google.com)
3. *(optional)* Setup [Sentry](https://sentry.io) account and create Svelte project
4. Create `ENV_FILE_CONTENT` repository variable and copy content of filled by you [.env](.env) file in it## Local development
1. Install docker
2. Install dependencies:
```console
make dev_install
```Now you can run the dev server locally:
```console
make dev_serve
```## Generate prod bundle
```console
make prod_build_bundle
```## GitHub Actions
* Each push to `master` triggers deployment to production
* Make sure that `ENV_FILE_CONTENT` repository variable is filled