{"id":20470124,"url":"https://github.com/prorupak/figma-plugin-sample","last_synced_at":"2025-04-13T10:44:00.306Z","repository":{"id":257531003,"uuid":"848288755","full_name":"Prorupak/figma-plugin-sample","owner":"Prorupak","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-17T05:56:30.000Z","size":268,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T03:32:39.138Z","etag":null,"topics":["expressjs","figma-plugin","firebase","firebase-realtime-database","javascript","pkce-authentication","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/Prorupak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-08-27T13:44:13.000Z","updated_at":"2025-01-12T16:12:42.000Z","dependencies_parsed_at":"2024-09-17T08:21:44.025Z","dependency_job_id":"4f2175a5-eca8-4e98-a598-40e1251ee6c0","html_url":"https://github.com/Prorupak/figma-plugin-sample","commit_stats":null,"previous_names":["prorupak/figma-plugin-sample"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prorupak%2Ffigma-plugin-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prorupak%2Ffigma-plugin-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prorupak%2Ffigma-plugin-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prorupak%2Ffigma-plugin-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prorupak","download_url":"https://codeload.github.com/Prorupak/figma-plugin-sample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248702054,"owners_count":21148114,"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":["expressjs","figma-plugin","firebase","firebase-realtime-database","javascript","pkce-authentication","typescript"],"created_at":"2024-11-15T14:11:49.014Z","updated_at":"2025-04-13T10:44:00.273Z","avatar_url":"https://github.com/Prorupak.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sample Figma Plugin Documentation\n\n### Overview\nThis project is a Figma plugin that helps users search and navigate text within their Figma documents. It includes a server-side application for authentication and user management using Firebase.\n\n### Project Structure\n\n - plugin/: Contains the Figma plugin using ReactJS and TypeScript.\n - server/: Contains the backend server using ExpressJS,\n   TypeScript, and Firebase.\n - package.json: Defines scripts for building, starting, and linting\n   both the plugin and server.\n\n### User Flow\n\n ### 1. Login Flow:\n\n - The user opens the Figma app and navigates to the plugin.\n - The plugin displays a login page. The user clicks the login button,\n   redirecting them to a separate browser page.\n - If the user clicks \"Cancel,\" the plugin closes. If not, they grant\n   permission to the plugin.\n - Upon granting permission, the user is logged in, and an account is\n   created in Firebase if needed.\n\n ### 2. Text Finder Flow:\n\n - After logging in, the user sees the Text Finder UI.\n - The user can search for terms (e.g., \"plugins\"). If results are\n   found, they can navigate through them.\n - Clicking \"Next\" and \"Previous\" navigates between occurrences.\n\n### Development\n\n - Start Plugin: pnpm start-plugin\n - Start Server: pnpm start-server\n - Build Plugin: pnpm build-plugin\n - Build Server: pnpm build-server\n - Lint Plugin: pnpm lint-plugin\n - Lint Server: pnpm lint-server\n - Concurrent Development: pnpm start\n\n### Installation\nTo initialize the project:\n\n    pnpm run init-project\n\n### Running the Project \n\nTo run the project in development mode:\n\n    pnpm start\n\nTo build the project for production:\n\n    pnpm build\n\n### Flowchart\n\n[View on Eraser![](https://app.eraser.io/workspace/F8VBcW2fbVxhed41JoDf/preview?elements=DDu_7JVK97cpk7MpjcFMUQ\u0026type=embed)](https://app.eraser.io/workspace/F8VBcW2fbVxhed41JoDf?elements=DDu_7JVK97cpk7MpjcFMUQ)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprorupak%2Ffigma-plugin-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprorupak%2Ffigma-plugin-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprorupak%2Ffigma-plugin-sample/lists"}