{"id":25109923,"url":"https://github.com/glific/glific-frontend","last_synced_at":"2026-03-05T18:06:54.042Z","repository":{"id":37012151,"uuid":"270326760","full_name":"glific/glific-frontend","owner":"glific","description":"Frontend for the Glific platform","archived":false,"fork":false,"pushed_at":"2025-04-19T05:00:10.000Z","size":21456,"stargazers_count":44,"open_issues_count":70,"forks_count":45,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-19T12:37:23.677Z","etag":null,"topics":["apollo-graphql","cypress","frontend","graphql","jest","react","react-router","react-testing-library","typescript"],"latest_commit_sha":null,"homepage":"https://glific.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glific.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-07T14:12:12.000Z","updated_at":"2025-04-14T04:38:39.000Z","dependencies_parsed_at":"2023-10-25T15:04:46.426Z","dependency_job_id":"2d27dc95-9786-44f8-954a-17a33974de55","html_url":"https://github.com/glific/glific-frontend","commit_stats":null,"previous_names":[],"tags_count":187,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glific%2Fglific-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glific%2Fglific-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glific%2Fglific-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glific%2Fglific-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glific","download_url":"https://codeload.github.com/glific/glific-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249837091,"owners_count":21332397,"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":["apollo-graphql","cypress","frontend","graphql","jest","react","react-router","react-testing-library","typescript"],"created_at":"2025-02-08T00:33:22.783Z","updated_at":"2026-01-29T04:14:54.715Z","avatar_url":"https://github.com/glific.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Glific - Two Way Open Source Communication Platform\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![codecov](https://codecov.io/gh/glific/glific-frontend/graph/badge.svg?token=5OT73SIVT4)](https://codecov.io/gh/glific/glific-frontend)\n![GitHub issues](https://img.shields.io/github/issues-raw/glific/glific-frontend)\n[![Discord](https://img.shields.io/discord/717975833226248303.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2)](https://discord.gg/MVf2KF)\n[![Cypress](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/detailed/ocex65/master\u0026style=flat\u0026logo=cypress)](https://dashboard.cypress.io/projects/ocex65/runs)\n\nGlific is a two-way communication platform built for nonprofits. This is the frontend interface built using React.\n\n---\n\n## 📋 Table of Contents\n- [Pre-requisite](#pre-requisite)\n  - [Software Dependencies](#software-dependencies)\n    - [npm (via asdf)](#npm-via-asdf)\n    - [yarn (via npm)](#yarn-via-npm)\n  - [Glific Backend](#glific-backend)\n- [Clone Frontend Repo](#clone-frontend-repo)\n  - [Git commands to clone](#git-commands-to-clone)\n- [Installation](#installation)\n  - [Start backend server](#start-backend-server)\n  - [Start frontend server](#start-frontend-server)\n  - [Login credentials](#login-credentials)\n  - [Configure Gupshup settings](#configure-gupshup-settings-optional)\n- [Available Scripts](#available-scripts)\n- [Docker Image for Production](#docker-image-for-production)\n- [Localization](#localization)\n- [Deploying Release on ECS with CD](#deploying-release-on-ecs-with-cd)\n- [Learn More](#learn-more)\n\n---\n\n## Pre-requisite\n\n### Software Dependencies\n\n#### npm (via asdf)\n\n```bash\nasdf plugin-add nodejs\nasdf install\n```\n\n#### yarn (via npm)\n\n```bash\nnpm install --global yarn\n```\n\n## Clone Frontend Repo\n\n### Git commands to clone\n\n```bash\ngit clone git@github.com:glific/glific-frontend.git\n```\n\n---\n\n### Glific Backend\n\nYou need to set up the backend service for Glific. Follow the instructions here:  \n🔗 https://github.com/glific/glific\n\n\u003e 💡 Note: SSL is required in development for both frontend and backend. Follow the SSL setup instructions in the backend README.\n\nAlso, add the following entry to your `/etc/hosts` file:\n\n```\n127.0.0.1 glific.test\n```\n\n---\n\n## Installation\n\n1. Copy `.env.example` to `.env` in the project root:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n2. **Do not modify `.env`** unless absolutely required.\n3. Install dependencies:\n\n   ```bash\n   yarn setup\n   ```\n\n---\n\n### Start backend server\n\nEnsure your Glific backend server is running and accessible.\n\n---\n\n### Start frontend server\n\n```bash\nyarn dev\n```\n\nVisit `https://glific.test:3000` to open the app.\n\n---\n\n### Login credentials\n\n* Phone: 917834811114\n\n* Password: Secret1234!\n\n---\n\n### Configure Gupshup settings (Optional)\n\nAfter logging in:\n\n\nThis step is required only if you're using Gupshup integration and have ISV credentials stored in the database.\n\n1. Go to **Settings → Integration**.\n2. Enter your Gupshup credentials and App Name.\n3. Save the settings to auto-fetch your Gupshup App ID.\n\n\u003e 💡 Note: Auto-fetching the App ID will only work if valid ISV credentials are already present in the backend database.\n\n---\n\n## Available Scripts\n\n```bash\nyarn setup               # Install dependencies\nyarn dev                 # Run app in development mode\nyarn test                # Run tests in watch mode\nyarn test:coverage       # Run tests with coverage\nyarn build               # Create optimized production build\nyarn extract-translations # Extract English strings for Lokalise\n```\n\n---\n\n## Docker Image for Production\n\nTo build a production Docker image:\n\n```bash\ndocker build \\\n--build-arg VITE_GLIFIC_API_PORT=API-PORT \\\n--no-cache -t glific-frontend .\n```\n\nReplace `API-PORT` with your backend API port number.\n\n---\n\n## Localization\n\n1. Extract base strings:\n\n   ```bash\n   yarn extract-translations\n   ```\n\n2. Once merged into `main`, strings will appear in [Lokalise](https://lokalise.com).\n3. Use `Download → Build only` in Lokalise to push translations.\n4. This will create a PR automatically in the frontend repo.\n5. It's recommended to **Preview** before building.\n\n---\n\n## Deploying Release on ECS with CD\n\n- For AWS CodeBuild, use `buildspec.yml.sample` as your config file.\n- For Docker Hub and alternatives, use this GitHub Action:  \n  🔗 https://github.com/marketplace/actions/build-and-push-docker-images\n\n---\n\n## Learn More\n\n- 🌐 [Glific.org](https://glific.org/)\n- 📄 [One Pager](https://docs.google.com/document/d/1XYxNvIYzNyX2Ve99-HrmTC8utyBFaf_Y7NP1dFYxI9Q/edit?usp=sharing)\n- 📁 [Google Drive](https://glific.github.io/docs/docs/intro)\n- 📝 [Product Features](https://glific.github.io/docs/docs/category/product-features)\n- 📰 [Blogs](https://glific.org/blogs/)\n### Chat With Us  \n- 💬 [Discord](https://discord.gg/scsrGUw)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglific%2Fglific-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglific%2Fglific-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglific%2Fglific-frontend/lists"}