{"id":50699641,"url":"https://github.com/ralscha/base-chat","last_synced_at":"2026-06-09T08:32:52.205Z","repository":{"id":361441762,"uuid":"1215059209","full_name":"ralscha/base-chat","owner":"ralscha","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-30T16:07:05.000Z","size":125,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T18:06:30.769Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/ralscha.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-19T12:29:42.000Z","updated_at":"2026-05-30T16:07:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ralscha/base-chat","commit_stats":null,"previous_names":["ralscha/base-chat"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ralscha/base-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fbase-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fbase-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fbase-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fbase-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ralscha","download_url":"https://codeload.github.com/ralscha/base-chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralscha%2Fbase-chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34098932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-06-09T08:32:50.577Z","updated_at":"2026-06-09T08:32:52.200Z","avatar_url":"https://github.com/ralscha.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BaseChat\n\nBaseChat is the **frontend foundation** for a real-time chat application. It provides the complete UI layer — authentication, contact management, and direct messaging — ready to be paired with a compatible backend.\n\n## Tech Stack\n\n| Layer           | Technology                                                                   |\n| --------------- | ---------------------------------------------------------------------------- |\n| Framework       | [Angular](https://angular.dev) 21                                            |\n| Styling         | [Tailwind CSS](https://tailwindcss.com) 4 + [daisyUI](https://daisyui.com) 5 |\n| Language        | TypeScript 5.9                                                               |\n| Package Manager | [Bun](https://bun.sh)                                                        |\n| Linting         | ESLint + angular-eslint                                                      |\n| Formatting      | Prettier                                                                     |\n\n## Features\n\n- **Authentication** — sign in, sign up, forgot/reset password, passkey support\n- **Contacts** — contact list, add, remove, block, unblock\n- **Direct Messaging** — conversation list, message history, send/delete messages, unread badges\n- **Profile** — view \u0026 update profile, change password, passkey management, account deletion\n- **Real-time** — client ready for server-pushed events via [Centrifugo](https://centrifugal.dev)\n- **Theming** — light/dark mode toggle (daisyUI themes)\n\n## Getting Started\n\n```bash\n# Install dependencies\nbun install\n\n# Start the development server\nbun start\n\n# Build for production\nbun run build\n\n# Lint\nbun run lint\n\n# Format\nbun run format\n```\n\nThe dev server runs at `http://localhost:4200`.\n\n## Backend Contract\n\nThe [backend API contract](docs/backend-api.md) defines the expected HTTP endpoints and Centrifugo channel conventions. The frontend is designed to connect to any backend that implements this contract.\n\n## Project Structure\n\n```\nsrc/app/\n├── core/           # Guards, models, services\n├── features/       # Feature modules: auth, chat, contacts, profile\n├── layouts/        # Auth layout \u0026 main layout (sidebar + content)\n└── shared/         # Reusable components, pipes\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralscha%2Fbase-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fralscha%2Fbase-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralscha%2Fbase-chat/lists"}