{"id":44331290,"url":"https://github.com/albindavidc/farmx-angular","last_synced_at":"2026-02-11T10:05:48.724Z","repository":{"id":284084734,"uuid":"953770342","full_name":"albindavidc/farmx-angular","owner":"albindavidc","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-30T03:44:39.000Z","size":5021,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-30T05:37:47.178Z","etag":null,"topics":["angular","angular-material","tailwindcss"],"latest_commit_sha":null,"homepage":"","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/albindavidc.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-24T03:42:27.000Z","updated_at":"2025-09-30T03:44:43.000Z","dependencies_parsed_at":"2025-05-29T13:41:55.612Z","dependency_job_id":"fd1a07e5-ae56-47f5-b8a7-3bd4da9cbe8f","html_url":"https://github.com/albindavidc/farmx-angular","commit_stats":null,"previous_names":["albindavidc/farmx","albindavidc/farmx-angular"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/albindavidc/farmx-angular","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albindavidc%2Ffarmx-angular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albindavidc%2Ffarmx-angular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albindavidc%2Ffarmx-angular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albindavidc%2Ffarmx-angular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/albindavidc","download_url":"https://codeload.github.com/albindavidc/farmx-angular/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albindavidc%2Ffarmx-angular/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29331634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T06:13:03.264Z","status":"ssl_error","status_checked_at":"2026-02-11T06:12:55.843Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","angular-material","tailwindcss"],"created_at":"2026-02-11T10:05:48.553Z","updated_at":"2026-02-11T10:05:48.717Z","avatar_url":"https://github.com/albindavidc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌾 **FarmX - Clean Architecture Folder Structure**  \n\nFarmX is a modern application designed using **Clean Architecture** principles, ensuring **scalability, maintainability, and separation of concerns**. The project is divided into:  \n\n- 📌 **Frontend:** Built with **Angular**, using **NgRx** for state management.  \n- 📌 **Backend:** Powered by **Node.js + Express.js**, following a structured Clean Architecture approach.  \n\n---  \n\n## 📂 **Project Folder Structure**  \n\n### 🖥️ **Frontend (Angular)**  \nThe frontend follows **Angular best practices**, emphasizing modularity, reusable components, and state management with **NgRx**.  \n\n### 📂 **Frontend Folder Structure**  \n\n\n\n\n```\nfarmx-frontend/\n├── src/\n│   ├── app/\n│   │   ├── core/                   # Core module\n│   │   │   ├── auth/               # Authentication services and guards\n│   │   │   │   ├── auth.service.ts # Auth service\n│   │   │   │   ├── auth.guard.ts   # Auth guard\n│   │   │   │   ├── auth.interceptor.ts # Auth interceptor\n│   │   │   │   ├── otp.service.ts  # OTP service\n│   │   │   │   └── google.auth.service.ts # Google Auth service\n│   │   │   ├── services/           # Core services\n│   │   │   │   ├── api.service.ts  # API service\n│   │   │   │   ├── notification.service.ts # Notification service\n│   │   │   │   └── role.service.ts # Role service\n│   │   │   └── models/             # Core models\n│   │   │       ├── user.model.ts   # User model\n│   │   │       ├── role.model.ts   # Role model\n│   │   │       └── otp.model.ts    # OTP model\n│   │   │\n│   │   ├── modules/                # Feature modules\n│   │   │   ├── auth/               # Authentication module\n│   │   │   │   ├── login/          # Login component\n│   │   │   │   ├── register/       # Register component\n│   │   │   │   ├── forgot-password/ # Forgot password component\n│   │   │   │   └── otp-verification/ # OTP verification component\n│   │   │   ├── user/               # User management module\n│   │   │   │   ├── profile/        # Profile management component\n│   │   │   │   ├── settings/       # Settings management component\n│   │   │   │   └── role-management/ # Role management component\n│   │   │   ├── article/            # Article management module\n│   │   │   ├── event/              # Event management module\n│   │   │   ├── course/             # Course management module\n│   │   │   ├── certificate/        # Certificate management module\n│   │   │   ├── chat/               # Chat management module\n│   │   │   ├── community/          # Community management module\n│   │   │   └── admin/              # Admin management module\n│   │   │\n│   │   ├── shared/                 # Shared components and utilities\n│   │   │   ├── components/         # Reusable components\n│   │   │   ├── directives/         # Custom directives\n│   │   │   ├── pipes/              # Custom pipes\n│   │   │   └── models/             # Shared models\n│   │   │\n│   │   ├── state/                  # NgRx state management\n│   │   │   ├── auth/               # Auth state\n│   │   │   ├── user/               # User state\n│   │   │   ├── article/            # Article state\n│   │   │   ├── event/              # Event state\n│   │   │   ├── course/             # Course state\n│   │   │   ├── certificate/        # Certificate state\n│   │   │   ├── chat/               # Chat state\n│   │   │   ├── community/          # Community state\n│   │   │   └── admin/              # Admin state\n│   │   │\n│   │   ├── assets/                 # Static assets\n│   │   ├── styles/                 # Global styles\n│   │   │   ├── tailwind.css        # Tailwind CSS\n│   │   │   └── global.scss         # Global SASS styles\n│   │   │\n│   │   ├── app.component.ts        # Root component\n│   │   ├── app.module.ts           # Root module\n│   │   ├── app-routing.module.ts   # Root routing\n│   │   └── app.config.ts           # App-wide configuration\n│   │\n│   ├── environments/               # Environment configurations\n│   │   ├── environment.ts          # Development environment\n│   │   └── environment.prod.ts     # Production environment\n│   │\n│   ├── index.html                  # Main HTML file\n│   ├── main.ts                     # Entry point\n│   └── styles.scss                 # Global styles\n│\n├── .eslintrc.js                    # ESLint configuration\n├── .prettierrc                     # Prettier configuration\n├── angular.json                    # Angular CLI configuration\n├── package.json                    # Frontend dependencies\n├── tailwind.config.js              # Tailwind CSS configuration\n└── README.md                       # Project documentation\n```\n\n\n\n## 🚀 **Key Features Implementation**  \n\n### 🔒 **Backend Features**  \n✅ **Authentication \u0026 Authorization**  \n- JWT for secure **token-based authentication**.  \n- OAuth2 for **Google login integration**.  \n- **Role-Based Access Control (RBAC)** for managing user permissions.  \n\n✅ **Real-Time Services**  \n- **WebSockets** for live chat and notifications.  \n\n✅ **Performance Optimization**  \n- **Redis caching** for high-frequency data.  \n- **Elasticsearch** for advanced search \u0026 filtering.  \n\n✅ **Integrations**  \n- **Payment Gateway** for secure transactions.  \n- **Calendar API** for event scheduling.  \n\n---\n\n### 🎨 **Frontend Features**  \n✅ **State Management**  \n- **NgRx** for centralized, predictable state management.  \n\n✅ **Styling \u0026 UI**  \n- **Tailwind CSS** + **SASS** for flexible, utility-first styling.  \n- **Reusable component library** for consistency across UI.  \n- **Dynamic UI rendering** based on **user roles**.  \n\n✅ **Offline \u0026 PWA**  \n- **Angular PWA** for **offline functionality** and better performance.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbindavidc%2Ffarmx-angular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbindavidc%2Ffarmx-angular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbindavidc%2Ffarmx-angular/lists"}