How saran-nambirajan-kanini/ai-smart-reminder works
Purpose and Scope
This repository combines:
1. PropelIQ-Copilot, a documentation- and prompt-driven AI development workflow framework under .propel/.
2. An early-stage AiSmartReminder application scaffold: ASP.NET Core API plus Angular client.
The application source is largely structural; domain entities, API controllers, persistence implementations, and feature services are not yet present.
Application Entry Points
• Backend host: src/AiSmartReminder.Api/Program.cs, in project src/AiSmartReminder.Api/AiSmartReminder.Api.csproj.
• Angular browser bootstrap: src/AiSmartReminder.Web/src/main.ts.
• Angular root composition and route boundary: src/AiSmartReminder.Web/src/app/app.config.ts, src/AiSmartReminder.Web/src/app/app.routes.ts, and src/AiSmartReminder.Web/src/app/app.component.ts.
• Solution-level composition: AiSmartReminder.sln.
Backend Clean-Architecture Layers
The .NET solution is organized into four intended dependency layers:
• Domain owns business entities, value objects, enums, exceptions, and domain-facing interfaces: src/AiSmartReminder.Domain/Entities, src/AiSmartReminder.Domain/ValueObjects, src/AiSmartReminder.Domain/Interfaces.
• Application is the use-case boundary for DTOs, application interfaces, validation, and orchestration services: src/AiSmartReminder.Application/DTOs, src/AiSmartReminder.Application/Interfaces, src/AiSmartReminder.Application/Services.
• Infrastructure supplies implementations for persistence, configuration, and external services: src/AiSmartReminder.Infrastructure/Persistence, src/AiSmartReminder.Infrastructure/Services, src/AiSmartReminder.Infrastructure/DependencyInjection.cs.
• API is the HTTP delivery layer, expected to bind endpoints/controllers to application services and cross-cutting middleware: src/AiSmartReminder.Api/Controllers, src/AiSmartReminder.Api/Middleware, src/AiSmartReminder.Api/Filters.
Application and infrastructure each expose a composition-root extension point through src/AiSmartReminder.Application/DependencyInjection.cs and src/AiSmartReminder.Infrastructure/DependencyInjection.cs; Program.cs should be their integration boundary.
Client Layer
The frontend is a standalone Angular application defined by src/AiSmartReminder.Web/angular.json and src/AiSmartReminder.Web/package.json. Its current architecture consists of:
• Root shell and global presentation: src/AiSmartReminder.Web/src/app/app.component.html and src/AiSmartReminder.Web/src/styles.scss.
• Route-driven feature expansion point: src/AiSmartReminder.Web/src/app/app.routes.ts.
• Environment validation/configuration boundary: src/AiSmartReminder.Web/src/app/services/environment-validator.service.ts and src/AiSmartReminder.Web/src/environments/environment.model.ts.
Client-to-API integration is intended but no HTTP feature clients or domain screens are currently present.
Intended Product Flows
Product artifacts describe an AI-assisted task/reminder system with authentication, profiles, task management, reminders, dashboards, notifications, and administration. The UI flow inventory is captured in .propel/context/wireframes/Hi-Fi-v2/wireframe-SCR-001-login.html through .propel/context/wireframes/Hi-Fi-v2/wireframe-SCR-019-admin-settings.html.
Expected runtime flow is: Angular route/component → API HTTP endpoint → Application use case/validation → Domain rules → Infrastructure persistence or external integration → DTO/HTTP response. These remain planned boundaries rather than implemented flows.
Workflow and Planning System
.propel/ is architecturally central to how this repository is specified and evolved:
• Requirements, design, data/model decisions: .propel/context/docs/spec.md, .propel/context/docs/design.md, .propel/context/docs/models.md.
• Backlog decomposition and implementation inputs: .propel/context/docs/epics.md, .propel/context/tasks/EP-001, .propel/context/tasks/EP-DATA.
• Multi-stage AI workflow coordinators: .propel/orchestrators/discovery-agent.md, .propel/orchestrators/build-feature-agent.md, .propel/orchestrators/devops-agent.md.
• Standards governing ASP.NET, Angular, security, databases, and deployment: .propel/rules/aspnet-webapi-standards.md, .propel/rules/angular-development-standards.md, .propel/rules/security-standards-owasp.md.
Runtime, Infrastructure, and External Boundaries
Material runtimes are .NET/ASP.NET Core for the API and Node.js/Angular for the client. Local API settings are under src/AiSmartReminder.Api/appsettings.json and src/AiSmartReminder.Api/appsettings.Development.json; development launch behavior is in src/AiSmartReminder.Api/Properties/launchSettings.json.
No concrete database provider, cloud deployment, CI/CD pipeline, authentication provider, or AI provider implementation appears in the source tree. The framework setup documents a Context7 API-key integration, but no project-level .env or runtime integration is shown. Architectural dependency rules are tested in tests/AiSmartReminder.Architecture.Tests/ArchitectureTests.cs.
Main entry points: Program.cs API host · Services Application layer · main.ts Browser bootstrap · AiSmartReminder.sln Solution
Components 18
PropelIQ-Copilot
Documentation-driven AI workflow and delivery governance.
- Product specifications · Requirements, design, and model decisions.
.propel/context/docs/spec.md - Epics and tasks · Implementation decomposition inputs.
.propel/context/docs/epics.md - AI workflow agents · Multi-stage discovery, build, and DevOps coordinators.
.propel/orchestrators/build-feature-agent.md - Engineering standards · ASP.NET, Angular, security, database, and deployment guidance.
.propel/rules/aspnet-webapi-standards.md
ASP.NET Core backend
Intended Clean Architecture solution layers.
- API host · HTTP composition root.
src/AiSmartReminder.Api/Program.cs - HTTP delivery · Planned endpoint and cross-cutting boundary.
src/AiSmartReminder.Api/Controllers - Application layer · Planned orchestration and application contracts.
src/AiSmartReminder.Application/Services - Application composition
src/AiSmartReminder.Application/DependencyInjection.cs - Domain layer · Business model and domain-facing interfaces.
src/AiSmartReminder.Domain/Entities - Infrastructure layer · Planned technical implementations.
src/AiSmartReminder.Infrastructure/Persistence - Infrastructure composition
src/AiSmartReminder.Infrastructure/DependencyInjection.cs - Architecture rules · Verifies dependency constraints.
tests/AiSmartReminder.Architecture.Tests/ArchitectureTests.cs
Angular client
Standalone browser application scaffold.
- Browser bootstrap · Starts the standalone Angular application.
src/AiSmartReminder.Web/src/main.ts - Root shell · Global presentation shell.
src/AiSmartReminder.Web/src/app/app.component.ts - Route boundary · Feature expansion point for route-driven UI.
src/AiSmartReminder.Web/src/app/app.routes.ts - Environment boundary · Validates client environment configuration.
src/AiSmartReminder.Web/src/app/services/environment-validator.service.ts - API integration · No feature HTTP clients are implemented yet.
Other components
- Solution
AiSmartReminder.sln
Connections 21
- Product specifications → Epics and tasks: decomposed into
- Epics and tasks → AI workflow agents: drives
- Engineering standards → AI workflow agents: governs
- AI workflow agents → Solution: guides evolution
- Solution → API host: contains
- Solution → Browser bootstrap: contains
- API host → HTTP delivery: hosts
- API host → Application composition: integrates
- API host → Infrastructure composition: integrates
- HTTP delivery → Application layer: invokes
- Application composition → Application layer: registers
- Application layer → Domain layer: applies rules from
- Infrastructure composition → Infrastructure layer: registers
- Infrastructure layer → Domain layer: implements interfaces for
- Architecture rules → Application layer: enforces dependencies
- Architecture rules → Infrastructure layer: enforces dependencies
- Browser bootstrap → Root shell: bootstraps
- Root shell → Route boundary: renders route outlet
- Browser bootstrap → Environment boundary: validates configuration
- Route boundary → API integration: planned feature calls
- API integration → HTTP delivery: planned HTTP requests