{"id":20078103,"url":"https://github.com/quickblox/q-municate-server","last_synced_at":"2026-05-09T21:44:42.906Z","repository":{"id":229841157,"uuid":"748560170","full_name":"QuickBlox/q-municate-server","owner":"QuickBlox","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-26T14:37:01.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-13T01:09:05.128Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QuickBlox.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}},"created_at":"2024-01-26T08:54:33.000Z","updated_at":"2024-01-26T14:37:06.000Z","dependencies_parsed_at":"2024-03-26T15:03:55.436Z","dependency_job_id":"6eef0546-8b98-4332-9c38-442ab330ee96","html_url":"https://github.com/QuickBlox/q-municate-server","commit_stats":null,"previous_names":["quickblox/q-municate-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuickBlox%2Fq-municate-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuickBlox%2Fq-municate-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuickBlox%2Fq-municate-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuickBlox%2Fq-municate-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QuickBlox","download_url":"https://codeload.github.com/QuickBlox/q-municate-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241509656,"owners_count":19974071,"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":[],"created_at":"2024-11-13T15:12:51.966Z","updated_at":"2026-05-09T21:44:42.859Z","avatar_url":"https://github.com/QuickBlox.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Q-Municate Server\n\nQ-Municate Server is designed for secure storage of API keys using dotenv.\nThis server allows you to create a QuickBlox user session using Firebase Authentication with Phone Numbers.\nIt also redirects requests to an Open AI API.\n\n## Prerequisites\n\n- Node.js (v16 and above)\n- npm (v8 and above)\n\n## Installation\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\n## Configurations\n\nSet up environment variables:\n\n1. Rename the `.env.example` file to `.env`.\n2. Edit the `.env` file and replace the placeholder values with your actual configuration.\n\n## Usage\n\nTo start the server, run the following command:\n\n```bash\nnpm start\n```\n\nThe server will be started on the specified port (or default port 3000 if not provided).\n\n### Create QuickBlox session\n\nTo create a QuickBlox user session, submit a `POST` request to the `/session` endpoint with the `access_token` received from Firebase.\n\n```bash\ncurl --request POST \\\n  --url http://localhost:3000/session \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n\t\"access_token\": \"\u003cFIREBASE_TOKEN_ID\u003e\"\n}'\n```\n\n### Open AI Proxy\n\nTo submit requests to Open AI, you no longer need to send an API Key.\nYou only need to pass the QB-Token header with the QuickBlox user session,\nand the server will redirect your request to OpenAI.\n\n```bash\ncurl --request GET \\\n  --url http://localhost:3000/v1/models \\\n  --header 'QB-Token: \u003cQB_SESSION_TOKEN\u003e'\n```\n\n## QuickBlox\n\nQ-Municate Server required integration with QuickBlox to establish a secure access mechanism for the Open AI API and Firebase authorization. By incorporating QuickBlox, a double authentication process is implemented to guarantee that only authorized users can gain access to the API. This involves verifying the registration and authorization of the user attempting to access the API, effectively thwarting any unauthorized third-party interference and safeguarding the API against potential attackers.\n\nTo integrate QuickBlox into the Q-Municate Server, follow these steps:\n\n1. Register and set up your QuickBlox account by following the instructions provided in the QuickBlox [documentation](https://docs.quickblox.com/docs/introduction).\n\n2. Obtain your QuickBlox API URL and ensure that these it is correctly configured in the `.env` file.\n\n## Contributing\n\nContributions are welcome! If you find any issues or want to add new features, please open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquickblox%2Fq-municate-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquickblox%2Fq-municate-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquickblox%2Fq-municate-server/lists"}