{"id":44854600,"url":"https://github.com/scorelab/com-dictionary","last_synced_at":"2026-02-17T07:44:52.178Z","repository":{"id":51326435,"uuid":"227267332","full_name":"scorelab/com-dictionary","owner":"scorelab","description":"Community Dictionary","archived":false,"fork":false,"pushed_at":"2023-04-17T18:03:05.000Z","size":8040,"stargazers_count":17,"open_issues_count":88,"forks_count":63,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-23T09:46:37.223Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scorelab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-12-11T03:20:55.000Z","updated_at":"2024-02-22T07:20:17.000Z","dependencies_parsed_at":"2024-01-23T21:20:51.044Z","dependency_job_id":"0864ab6c-cad7-4ca5-80f2-aacabdf6cdb2","html_url":"https://github.com/scorelab/com-dictionary","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scorelab/com-dictionary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorelab%2Fcom-dictionary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorelab%2Fcom-dictionary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorelab%2Fcom-dictionary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorelab%2Fcom-dictionary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scorelab","download_url":"https://codeload.github.com/scorelab/com-dictionary/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorelab%2Fcom-dictionary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29536919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T05:00:25.817Z","status":"ssl_error","status_checked_at":"2026-02-17T04:57:16.126Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-02-17T07:44:51.023Z","updated_at":"2026-02-17T07:44:52.171Z","avatar_url":"https://github.com/scorelab.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Table of Content\n\n1. [com-dict-client](#com-dict-client)\n2. [Deployed on](#deployed-on)\n3. [Community](#community)\n4. [User Guide](#user-guide)\n   1. [How to Setup](#how-to-setup)\n   2. [How to Use](#how-to-use)\n5. [Set-up-Firebase](#set-up-firebase)\n   1. [How to Deploy Firebase Cloud Functions](#how-to-deploy-firebase-cloud-functions)\n6. [Firebase Emulator Flow](#firebase-emulator-flow)\n7. [Install, Configure and Integrate Firebase Emulator Suite](#install-configure-and-integrate-firebase-emulator-suite)\n   1. [\u003cstrong\u003eHow to install\u003c/strong\u003e](#how-to-install)\n   2. [\u003cstrong\u003eHow to Configure\u003c/strong\u003e](#how-to-configure)\n8. [Integrate With your CI System.](#integrate-with-your-ci-system)\n   1. [To Start the Emulators:-](#to-start-the-emulators-)\n   2. [Import and Export:-](#import-and-export-)\n\n# com-dict-client\n\nCommunityDict is a software tool developed by the SCoRE Lab that facilitates community-driven vocabulary development. It allows users to collaborate and contribute to the creation of shared dictionaries, which can be used to support natural language processing tasks such as machine translation, sentiment analysis, and information retrieval.\n\nWith CommunityDict, users can easily add new terms, definitions, and translations to the dictionary, as well as vote and comment on existing entries. The tool also provides a range of features to help users manage and organize the dictionary, including search functionality, automatic term extraction, and customizable filters.\n\nOverall, CommunityDict is a powerful and flexible tool that enables communities to develop and maintain their own specialized vocabularies, improving the accuracy and effectiveness of natural language processing applications in a variety of domains.\n\n# Deployed on\n\nhttps://community-dictionary-dev.web.app/\n\n# Community\n\nJoin and communicate with other members on our community. We communicate on gitter\n\n[![Gitter](https://community-dictionary-dev.web.app/static/media/cover.2fb8be09.png)](https://matrix.to/#/#scorelab_CommunityDictionary:gitter.im)\n\n## User Guide\n\n#### How to Setup\n\nClone the repository.\n\nFor cloning this repo: Run `git clone https://github.com/scorelab/com-dictionary.git`.\n\nRun the above command in the folder in which you want to make a clone.\n\n#### How to Use\n\nRun `npm install` in `com-dict-client` folder.\n\n```\n cd com-dict-client/\n npm install\n```\n\n\u003e **NOTE**: If `npm install` is not executing successfully, then use node v14 and `npm install --legacy-peer-deps` and try again.\n\nFirst you need to create a `.env` file in `com-dict-client` folder following the template provided in the file `.env.sample`.\u003cbr/\u003e \u003cbr/\u003e\n\n## Set-up-Firebase\n\n1. Sign in to https://console.firebase.google.com/.\n2. Click **Add Project** and necessary information about the project.(Below mentioned the Steps to add project to firebase)\n   - To add Firebase resources to an existing Google Cloud project, enter its project name or select it from the dropdown menu.\n   - To create a new project, enter the desired project name. You can also optionally edit the project ID displayed below the project name\n   - Firebase generates a unique ID for your Firebase project based upon the name you give it. If you want to edit this project ID, you must do it now as it cannot be altered after Firebase provisions resources for your project. Visit Understand Firebase Projects to learn about how Firebase uses the project ID.\n3. Agree to the terms and click **Create Project**.\n4. After creating the project, click **Add Firebase to your web app**.\n   - In the center of the Firebase console's project overview page, click the Web icon to launch the setup workflow.\n   - If you've already added an app to your Firebase project, click Add app to display the platform options.\n   - Enter your app's nickname.\n   - This nickname is an internal, convenience identifier and is only visible to you in the Firebase console.\n   - Click Register app.\n5. Copy the firebase configuration.\n6. Paste the configuration `.env` file.\n7. You can find your **\u003cFIREBASE_DATABASE_URL\u003e** in the Realtime Database section of the Firebase console. Depending on the location of the database, the database URL will be in one of the following forms:\n   - https://DATABASE_NAME.firebaseio.com (for databases in us-central1)\n   - https://DATABASE_NAME.REGION.firebasedatabase.app (for databases in all other locations)\n8. You can get your \u003cFIREBASE_VAPID_KEY\u003e from Cloud-Messaging tab\n   - navigate to the setting of your project Open the Cloud Messaging tab.\n   - scroll to the Web configuration section.\n   - In the Web Push certificates tab, click Generate Key Pair. The console displays a notice that the key pair was generated. You get your Vapid key form there.\n\nYou should fill in these values in their relevent fields in the `.env` file.\n\nTo run the project:  \n `$ npm start`\n\nIf you failed to run the project do the following steps :\n\n- delete node modules\n- delete package-lock.json\n- re run `npm install `\n  If error still exists add `SKIP_PREFLIGHT_CHECK=true` in your .env file\n\n\u003e **NOTE**: Before starting the server create a file named `.env` same as `.env.sample` and add your **Firebase Configurations** in the file.\n\nVisit [localhost:3000](http://localhost:3000) to browse.\n\n#### How to Deploy Firebase Cloud Functions\n\n\u003e **NOTE**:To Deploy firebase cloud functions you have to satisfy following requirements\n\n1. Your Firebase project should have Blaze plan or higher version\n   ##steps to upgrade to blaze plan\n   1. Log in to the Firebase Console. In the lower left, you will see that your project is listed on the Spark plan. Click the upgrade button.\n   2. Select the Blaze plan\n   3. Select a billing account. Then click Continue and Purchase. And there you go on the Blaze plan.\n2. You should have installed Firebase CLI tool in your machine\n   To install Firebase CLI machine you can use the command **npm install -g firebase-tools**\n\nRun `npm install` in `com-dict-client/functions ` folder.\n\n```\n cd com-dict-client/functions\n npm install\n```\n\nThen you have to generate a private key file for your service account.To get the key file go to this link and follow the instructions https://firebase.google.com/docs/admin/setup#initialize-sdk.\n\nOnce you have obtained the key, create a folder named as **'private'** in the directory **'com-dict-client/functions'**. Then copy and paste the key file in private folder.\nRename the key file as **'cl-dev-pk.json'**\n\nAfter that change the database url to your project database url in **'com-dict-client/functions/auth.js'**\n\nMove to the root directory and open a command prompt and type following commands\n\n```\n npm run-script build\n firebase login\n firebase projects:list\n```\n\nFind the project ID from the project list that you want to deploy the cloud functions\n\n```\nfirebase use \u003cproject_id\u003e\nfirebase deploy\n```\n\nTo run storybook :\n` npm run storybook`\nIt will redirect to 6006 port. Find detailed information [here](https://storybook.js.org/docs/react/get-started/introduction)\n\nTo run cypress tests:\n`npx cypress run`\nIt will open a prompt displaying all the tests. You can find detailed information [here](https://docs.cypress.io/guides/guides/command-line#How-to-run-commands)\n\n# Firebase Emulator Flow\n\n```mermaid\nflowchart TB\n     sougatarmail(\"Email Pass Login \\n \\n sougatariju13@gmail.com \\n\\n Pass : 123456 \")\n    com-dict-clientusermail(\"Google Login \\n \\n com-dict-client User\")\n    shivanandamail(\"Email Pass Login \\n \\n shivananda@gmail.com \\n\\n Pass : com-dict-client \")\n    mahendarmail(\"Google Login \\n \\n Mahendar Goud\")\n    sarfarazmail(\"Google Login \\n \\n sarfaraz\")\n\n    org[(Organization)]--\u003esougataijuorg\n    org[(Organization)]--\u003ecom-dict-clientorg\n    org[(Organization)]--\u003egoogle\n    org[(Organization)]--\u003egithub\n    org[(Organization)]--\u003eyoutube\n\n    ft[(Firestore)]---sougatariju1---id1(organization)--\u003esougataijuorg\n    ft[(Firestore)]---com-dict-clientuser---id2(organization)--\u003ecom-dict-clientorg\n    ft[(Firestore)]---shivananda---id3(organization)--\u003egoogle\n    ft[(Firestore)]---mahendar---id4(organization)--\u003egithub\n    ft[(Firestore)]---sarfaraz---id5(organization)--\u003eyoutube\n\n    auth[(Authentication)]---\u003esougatarmail---\u003esougatariju1\n    auth[(Authentication)]---\u003ecom-dict-clientusermail---\u003ecom-dict-clientuser\n    auth[(Authentication)]---\u003eshivanandamail---\u003eshivananda\n    auth[(Authentication)]---\u003emahendarmail---\u003emahendar\n    auth[(Authentication)]---\u003esarfarazmail---\u003esarfaraz\n```\n\n# Install, Configure and Integrate Firebase Emulator Suite\n\n## **How to install**\n\n#### Before installing the Emulator Suite you will need:-\n\n- Node.js version 8.0 or higher.\n\n- Java JDK version 11 or higher.\n\n#### To install the Emulator Suite:\n\n- Install the Firebase CLI. If you don't already have the Firebase CLI installed, install it (https://firebase.google.com/docs/cli#install-cli-windows).\n  You will need CLI version 8.14.0 or higher to use the Emulator Suite.\n- You can install the Firebase CLI using npm (the Node Package Manager). Note that you will need to install Node.js and npm. Installing Node.js should install npm as well.\n\n```\nnpm install -g firebase-tools\n```\n\n- You can check which version you have installed using the following command in the terminal.\n\n```\nfirebase --version\n```\n\n- After Installation, Initialize the firebase Using\n\n```\nfirebase init\n```\n\n- Now Set up the Emulator Suite. The Below Command Provides you the emultors Like, Authentication,Firestore, Realtime Database,Storage DataBase etc.\n  Select the emulators you needed\n\n```\nfirebase init emulators\n```\n\n## **How to Configure**\n\n#### Configure Emulator Suite:-\n\n- You can optionally configure the emulators network ports and path to Security Rules definitions in the firebase.json file:\n- Change emulator ports by running `firebase init emulators` or by editing `firebase.json` manually.\n\nNote:-(**_Recommended_**)If you don't configure these settings, the emulators will listen on their default ports, and the Cloud Firestore, Realtime Database and Cloud Storage\nemulators will run with open data security.\n\n#### Port Configuration - These are the Default Ports Provided you can change them while initializing(if needed)\n\n| Emulator          | Ports |\n| ----------------- | ----- |\n| Authentication    | 9099  |\n| Emulator Suite UI | 9099  |\n| Cloud Functions   | 9099  |\n| Realtime Database | 9099  |\n| Cloud Firestore   | 8080  |\n| Cloud Storage     | 8080  |\n| Firebase Hosting  | 5000  |\n| Pub/Sub           | 8085  |\n\n- The emulators will take Security Rules configuration from the database, firestore and storage configuration keys in `firebase.json`.\n\n## Integrate With your CI System.\n\n- Installation and configuration of the Emulator Suite with containers in a typical CI setup is straightforward.\n\n#### To Start the Emulators:-\n\n- The Emulators can be start according to the user preferences, .Find detailed information [here](https://github.com/scorelab/com-dict-client/blob/master/local-firebase-emulators-import-export.md)\n\n```\nfirebase emulators:start\n```\n\nor\n\n```\nnpm run emulator\n```\n\n- You need to run `firebase emulators:start` or `npm run emulator` first and then run `npm start` inorder to run the com-dict-client webpage.\n- You can check/open Emulator suite by visiting [localhost:4000](http://localhost:4000).\n\n#### Import and Export:-\n\n- To import `npm run emulator-import`\n- To export `npm run emulator-export`\n- Note:- To understand beforehand about importing data from and to emulators, please see [this](https://github.com/scorelab/com-dict-client/blob/master/local-firebase-emulators-import-export.md).\n- **READ THE [RULE-SET](https://github.com/scorelab/com-dict-client/blob/master/rule_sets.md) FILE PRIOR TO USING \"testdata\" FILE.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscorelab%2Fcom-dictionary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscorelab%2Fcom-dictionary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscorelab%2Fcom-dictionary/lists"}