{"id":21569507,"url":"https://github.com/brucearmstrong007/my-chat","last_synced_at":"2026-04-09T17:03:16.410Z","repository":{"id":65698481,"uuid":"595121875","full_name":"BruceArmstrong007/My-Chat","owner":"BruceArmstrong007","description":"A Chat Application  (with Auth, chat \u0026 video call with friends) using Angular, Angular Material, Tailwind, Express Server, Socket.io(WebSocket), PeerJs(WebRTC) , SQLite Prisma , Nx MonoRepo ","archived":false,"fork":false,"pushed_at":"2023-08-21T14:01:47.000Z","size":659,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T12:32:35.217Z","etag":null,"topics":["angular","angular-material","chat-application","expressjs","jwt-authentication","nx-workspace","peer-to-peer","peerjs","prisma","socket-io","sqlite","streaming-audio","streaming-data","streaming-video","tailwindcss","video-call","video-capture","webrtc","websocket","zod"],"latest_commit_sha":null,"homepage":"https://my-chat-aa671.web.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BruceArmstrong007.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-30T12:49:55.000Z","updated_at":"2023-09-23T18:27:32.000Z","dependencies_parsed_at":"2025-01-24T12:39:16.118Z","dependency_job_id":null,"html_url":"https://github.com/BruceArmstrong007/My-Chat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceArmstrong007%2FMy-Chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceArmstrong007%2FMy-Chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceArmstrong007%2FMy-Chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BruceArmstrong007%2FMy-Chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BruceArmstrong007","download_url":"https://codeload.github.com/BruceArmstrong007/My-Chat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244166677,"owners_count":20409178,"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":["angular","angular-material","chat-application","expressjs","jwt-authentication","nx-workspace","peer-to-peer","peerjs","prisma","socket-io","sqlite","streaming-audio","streaming-data","streaming-video","tailwindcss","video-call","video-capture","webrtc","websocket","zod"],"created_at":"2024-11-24T11:09:39.253Z","updated_at":"2025-12-30T18:55:35.757Z","avatar_url":"https://github.com/BruceArmstrong007.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trying out new technologies - tRPC , prisma , zod , NX workspace , Tailwind, cypress e2e, OnPush with Standalone components\n\n# Chat App - Features\n Auth with JWT \\\n Find , add , remove friends, reject or accept friend request \\\n Realtime notifications \\\n Chat with friends \\\n Change profile picture with url , password or username \\\n Dark and light mode \\\n Video Call Friends, mute audio / video on video call \\\n File Transfer\n Responsive\n Added e2e testing\n \n \n# Commands to run the sever and client locally\n1.) npm i \\\n2.) npm run db:generate \\\n3.) npm run db:migrate \\\n4.) npx nx serve client - starts angular client @ port 4200 \\\n5.) npx nx serve server - starts trpc http server @ port 3333 \\\n6.) npm run db:show - to host visual representation of sqlite DB @ port 5000 \\\n7.) npx nx e2e client-e2e --watch - run E2E automation tests with cypress\n\n\n\n# Images\n![image](https://user-images.githubusercontent.com/48177059/218684001-baee5bb1-9925-4afa-8ad5-bccfc9c59a91.png)\n\u003cimg width=\"960\" alt=\"image\" src=\"https://user-images.githubusercontent.com/48177059/218681852-e285831b-775a-4bf1-8928-cf5419a1a4e5.png\"\u003e\n\u003cimg width=\"959\" alt=\"image\" src=\"https://user-images.githubusercontent.com/48177059/218678939-41bb4f0c-4bc8-49b7-8d4a-a885bcc9f1b6.png\"\u003e\n\u003cimg width=\"960\" alt=\"image\" src=\"https://user-images.githubusercontent.com/48177059/217805563-5ac2a9e9-a342-4e29-8d06-d774e6d47a43.png\"\u003e\n\u003cimg width=\"957\" alt=\"image\" src=\"https://user-images.githubusercontent.com/48177059/217785923-382ea051-fc89-45c2-80d9-22b2ccfdff3a.png\"\u003e\n\u003cimg width=\"960\" alt=\"resetpassword\" src=\"https://user-images.githubusercontent.com/48177059/213621138-4e94d9c2-0c0b-40bc-825e-f89d8b82a09f.png\"\u003e\n\u003cimg width=\"959\" alt=\"profile\" src=\"https://user-images.githubusercontent.com/48177059/213621142-851891d8-2b29-4feb-8115-827214b811d1.png\"\u003e\n\u003cimg width=\"960\" alt=\"chat2\" src=\"https://user-images.githubusercontent.com/48177059/213621146-580b7fc5-ea29-4fc6-b126-37ad34b1fe7f.png\"\u003e\n\u003cimg width=\"960\" alt=\"chat\" src=\"https://user-images.githubusercontent.com/48177059/213621148-40904a26-c0ea-481c-9ff2-571aea88ac46.png\"\u003e\n\u003cimg width=\"960\" alt=\"friendlistpage2\" src=\"https://user-images.githubusercontent.com/48177059/213621152-3212e612-ebc2-4d68-8817-81cce56a2fc8.png\"\u003e\n\u003cimg width=\"960\" alt=\"friendlistpage\" src=\"https://user-images.githubusercontent.com/48177059/213621154-2109c930-74f3-4cb5-a10e-721678450455.png\"\u003e\n\u003cimg width=\"960\" alt=\"findfriends\" src=\"https://user-images.githubusercontent.com/48177059/213621157-bfd6b97b-19ed-415e-bd26-624acb6be75a.png\"\u003e\n\u003cimg width=\"960\" alt=\"loginpage\" src=\"https://user-images.githubusercontent.com/48177059/213621160-f8bd9e1f-8a1f-476f-8964-04e3b79e8071.png\"\u003e\n\u003cimg width=\"960\" alt=\"landingpage\" src=\"https://user-images.githubusercontent.com/48177059/213621162-189d6d0c-0c1b-4072-b385-87f561d10350.png\"\u003e\n\u003cimg width=\"960\" alt=\"registerpage\" src=\"https://user-images.githubusercontent.com/48177059/213621167-74607e1f-98f1-4a96-a399-5bd71fc4ec0d.png\"\u003e\n\n# NX Commands\nExpress NX Server\nnpx nx generate @nrwl/express:application server --frontendProject=client --tags=scope:chat-app,type:server --no-interactive\n\nExpress NX Library\n npx nx generate @nrwl/node:library trpc --directory=server/trpc --importPath=@server/trpc --js --strict --tags=scope:server,type:trpc --testEnvironment=node --no-interactive \n\nStandalone NX Application\nnpx nx generate @nrwl/angular:application client --addTailwind --backendProject=server --e2eTestRunner=none --inlineStyle --inlineTemplate --routing --skipTests --standalone --standaloneConfig --tags=scope:chat-app,type:client --no-interactive \n\nStandalone NX Library - Component\nnpx nx generate @nrwl/angular:library core --directory=client --changeDetection=OnPush --importPath=@client/core --inlineStyle --inlineTemplate --lazy --routing --simpleModuleName --standalone --tags=scope:client,type:core --no-interactive  \n\nStandalone NX Library - Module\nnpx nx generate @nrwl/angular:library core --style=none --directory=client --importPath=@client/core --simpleModuleName --tags=scope:client,type:core --no-interactive\n\nStandalone NX Component\nnpx nx generate @nrwl/angular:component header --project=ui --changeDetection=OnPush --skipImport --standalone --no-interactive \n\n\n# ChatApp\n\n✨ **This workspace has been generated by [Nx, a Smart, fast and extensible build system.](https://nx.dev)** ✨\n\n## Development server\n\nRun `nx serve client` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.\n\n## Understand this workspace\n\nRun `nx graph` to see a diagram of the dependencies of the projects.\n\n## Remote caching\n\nRun `npx nx connect-to-nx-cloud` to enable [remote caching](https://nx.app) and make CI faster.\n\n## Further help\n\nVisit the [Nx Documentation](https://nx.dev) to learn more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucearmstrong007%2Fmy-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrucearmstrong007%2Fmy-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucearmstrong007%2Fmy-chat/lists"}