{"id":19408515,"url":"https://github.com/ninest/civic-connect","last_synced_at":"2025-04-24T09:31:59.757Z","repository":{"id":206618758,"uuid":"717312479","full_name":"ninest/civic-connect","owner":"ninest","description":"CivicConnect: a chatbot platform for Congressional offices","archived":false,"fork":false,"pushed_at":"2023-12-06T23:13:46.000Z","size":84390,"stargazers_count":6,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T03:11:12.541Z","etag":null,"topics":["chatbot","gpt","gpt-4","nextjs","northeastern-university","openai","react"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ninest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"ninest","patreon":null,"open_collective":null,"ko_fi":"parthkabra","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.buymeacoffee.com/ninest"]}},"created_at":"2023-11-11T04:47:30.000Z","updated_at":"2024-03-05T04:55:07.000Z","dependencies_parsed_at":"2023-12-04T02:47:54.345Z","dependency_job_id":null,"html_url":"https://github.com/ninest/civic-connect","commit_stats":null,"previous_names":["ninest/congressbot","ninest/civic-connect"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fcivic-connect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fcivic-connect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fcivic-connect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fcivic-connect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ninest","download_url":"https://codeload.github.com/ninest/civic-connect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250600718,"owners_count":21457017,"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":["chatbot","gpt","gpt-4","nextjs","northeastern-university","openai","react"],"created_at":"2024-11-10T12:06:26.143Z","updated_at":"2025-04-24T09:31:54.725Z","avatar_url":"https://github.com/ninest.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ninest","https://ko-fi.com/parthkabra","https://www.buymeacoffee.com/ninest"],"categories":[],"sub_categories":[],"readme":"# Civic Connect\n\n\u003e A platform to create chatbots for constituent engagement \n\n## Features\n\n- 📄 **Documents**: upload documents to give GPT more context\n- 🖊️ **Forms**: collect user data seamlessly through natural, conversational forms\n- 💬 **Slack integration**: get notified when forms are submitted\n- 📊 **Analytics**: access insights on chatbot usage and user engagement\n\n### User chat\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/2023-12/chat-example-1.png\" width=\"40%\" /\u003e\n  \u0026nbsp;\n  \u003cimg src=\"./assets/2023-12/chat-example-2.png\" width=\"40%\" /\u003e\n\u003c/p\u003e\n\n### Admin dashboard\n\n![Admin dashboard](./assets/2023-12/edit-bot.png)\n\n\u003cdetails\u003e\n\u003csummary\u003eView more images (documents uploading, forms, analytics, chatbot demo)\u003c/summary\u003e\n\nUploading documents to provide context and knowledge in answering questions:\n\n![uploading documents](./assets/2023-12/documents.png)\n\nForms for collecting information from users:\n\n![forms](./assets/2023-12/forms.png)\n\nForm submissions page:\n\n![form submissions](./assets/2023-12/form-submissions.png)\n\nChatbot demo for admins to test form submissions and other features:\n\n![chatbot demo](./assets/2023-12/admin-chat-demo.png)\n\nConversations table:\n\n![conversations view](./assets/2023-12/conversations.png)\n\nAnalytics page showing total number of conversations and breakdown by conversation category:\n\n![analytics view](./assets/2023-12/analytics.png)\n\nIntegrations page:\n\n![integrations](./assets/2023-12/integrations.png)\n\n\u003c/details\u003e\n\n[View videos](#Videos)\n\n## Development\n\nThis projects requires\n\n- Node v18+ \n- [pnpm](https://pnpm.io/): Please follow the [pnpm installation guide](https://pnpm.io/installation) to install it\n- Docker\n\nAfter cloning the repository, run\n\n```\npnpm i \n```\n\nCreate a `.env` file with the following:\n\n```env\nDATABASE_URL=postgres://user:password@localhost:2430/civicconnect_db\nOPENAI_API_KEY=\n```\n\nThe database URL `postgres://user:password@localhost:2430/civicconnect_db` is the local development database created in a Docker volume.\n\nCreate an OpenAI API key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys).\n\nTo setup the local database and add seed data, run\n\n```\npnpm db:reset  # warning: this will delete all data in the local database\n```\n\nThis commands runs\n\n- `pnpm db:down`: deletes the database\n- `pnpm db:up`: sets up the database\n- `pnpm db:seed`: runs the seed script to populate the database with sample data\n\nTo start the development server, run\n\n```\npnpm dev\n```\n\n### Libraries\n\n- [Nextjs](https://nextjs.org/docs): make sure you are looking at the docs for the \"App Router\"\n- [LangChain](https://www.langchain.com/): we're using the JS library\n  - [LangChain Prisma integration](https://js.langchain.com/docs/integrations/vectorstores/prisma)\n- [Prisma](https://www.prisma.io/): see `prisma/schema.prisma` for the Postgres DB schema\n- [TailwindCSS](https://tailwindcss.com/)\n- [ShadcnUI](https://ui.shadcn.com/): this UI library takes care of a lot of the difficult stuff for us, like complex components (dropdowns, autocomplete, etc) and accessibility\n\n### Contact\n\nIf you have any questions about the project, please contact Parth Kabra (parth.kabra@gmail.com).\n\n## Videos\n\nThe videos are for a chatbot \"Moulton Bot\" created for [Congressman Seth Moulton's office](https://moulton.house.gov/).\n\n### User chat\n\nhttps://github.com/ninest/civic-connect/assets/34677361/53578f39-8422-4e84-ae24-0dd6062f8b48\n\n### Bot editing\n\nhttps://github.com/ninest/civic-connect/assets/34677361/097c02ed-b200-4924-9d6c-1c9804dbfbc5\n\n### Uploading documents\n\nhttps://github.com/ninest/civic-connect/assets/34677361/7da5484e-4499-4536-84de-3cf0045b126e\n\n### Form editing\n\nhttps://github.com/ninest/civic-connect/assets/34677361/333c8773-5ef0-45c5-9e94-044b149f985e\n\n### Form submissions\n\nhttps://github.com/ninest/civic-connect/assets/34677361/3780371b-a39a-4ad9-8618-2ce66f450629\n\n### Analytics\n\nhttps://github.com/ninest/civic-connect/assets/34677361/27e3bf49-cffe-4088-8bed-e7dde1d6666a\n\n## Other\n\n- [Project pitch deck](https://www.canva.com/design/DAF0BkKEiFg/nFoOQEfieefQ8_63sd_t6w/edit?utm_content=DAF0BkKEiFg\u0026utm_campaign=designshare\u0026utm_medium=link2\u0026utm_source=sharebutton)\n- [Slack group](https://join.slack.com/t/congressai4impact/shared_invite/zt-2882nx1ba-DYy_rxYa8_v3GXlkEiUNgw)\n- [Project plan document](https://docs.google.com/document/d/1typXe2OvmMHH_WBoVODv8UXTgLfBNDYXhAbyv6pAQwo/edit#heading=h.uioatehl6iil)\n\n### Credits\n\nGroup members:\n\n- Ala’a Tamam\n- Isha Chadalavada\n- Rohit Kaushik\n- Parth Kabra\n- Arjun Bhat \n\nUnder the advisement of Prof. Beth Noveck, Prof. Dan Jackson, Marci Harris and the PopVox foundation.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninest%2Fcivic-connect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fninest%2Fcivic-connect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninest%2Fcivic-connect/lists"}