{"id":21553161,"url":"https://github.com/char2sgu/reply","last_synced_at":"2025-04-10T07:50:11.714Z","repository":{"id":63698786,"uuid":"538009274","full_name":"Char2sGu/reply","owner":"Char2sGu","description":"The Angular implementation of Reply.","archived":false,"fork":false,"pushed_at":"2024-01-15T11:06:05.000Z","size":3938,"stargazers_count":63,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-24T08:05:06.330Z","etag":null,"topics":["angular","email-client","frontend","material-design","material-studies","pwa","responsive","web","webmail"],"latest_commit_sha":null,"homepage":"http://reply.char2s.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Char2sGu.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":"2022-09-18T05:23:29.000Z","updated_at":"2024-12-04T12:15:53.000Z","dependencies_parsed_at":"2023-12-27T05:28:32.949Z","dependency_job_id":"78077050-9d3e-4655-ba3e-a47a578cb2fe","html_url":"https://github.com/Char2sGu/reply","commit_stats":null,"previous_names":["char2sgu/reply"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Char2sGu%2Freply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Char2sGu%2Freply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Char2sGu%2Freply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Char2sGu%2Freply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Char2sGu","download_url":"https://codeload.github.com/Char2sGu/reply/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248182010,"owners_count":21060891,"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","email-client","frontend","material-design","material-studies","pwa","responsive","web","webmail"],"created_at":"2024-11-24T07:09:42.724Z","updated_at":"2025-04-10T07:50:11.694Z","avatar_url":"https://github.com/Char2sGu.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reply\n\nThe Angular implementation of [Reply](https://m2.material.io/design/material-studies/reply.html) designed by Google.\n\n\u003e Reply is an email app that uses Material Design components and Material Theming to create an on-brand communication experience.\n\u003e\n\u003e ![Reply Cover](./res/reply-cover.png)\n\n# Features\n\n- [Fantastic Material Motion animations](https://github.com/TheNightmareX/reply/discussions/2)\n- Excellent UX on Any Screen\n- Native-like UI Behavior\n- Well-considered Keyboard Accessibility\n- Rich Performance Optimizations\n\n# Local Serving\n\nThe application depends on multiple internal libraries. Make sure that the libraries have been built before starting the application.\n\n```ts\nnpm i\nnpm run build-libs\nnpm start\n```\n\n# Architecture\n\nThe architecture of this project follows most of the reasonable principles of the [Angular Coding Style Guide](https://angular.io/guide/styleguide), but also follows my own empirical principles.\n\n- All the paths mentioned below are relative to `projects/reply/src/app`\n- The term `component` below refers to anything that is declarable in an Angular Module such as components, directives, and pipes.\n\n## Special Directories\n\n- `/common` - framework/business independent logic that can be reused in any applications\n- `/core` - components that is used in `AppModule` and injectables that is shared by the entire application\n- `/standalone` - shared standalone components which can be either business-dependent of business-independent.\n- `/data` - derived from `/core` where only injectables relevant to data are allowed\n\n## Feature Modules\n\nA feature module refers to a lazy-loading module with routes.\n\n- Feature modules must be flattened at the root of the application\n- Un-reusable components must be flattened at the root of the feature module\n- Injectables and reusable components must be put under a sub-directory named `core`\n- The name of components and injectables of a feature module must share the same prefix as the module.\n\n## Widget Modules\n\nA widget module refers to a module that provides business-independent additional reusable features.\n\n- Widget modules must be flattened to the root of the application\n- The internal architecture of a widget module can be flexible\n- A widget module should be extracted into a library if possible once it is stable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchar2sgu%2Freply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchar2sgu%2Freply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchar2sgu%2Freply/lists"}